Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1101)

Side by Side Diff: webrtc/p2p/base/relayport.cc

Issue 2757893003: Add MakeUnique from chromium and change StunMessage::AddAttribute to take a unique_ptr. (Closed)
Patch Set: Better fix to undefined reference to MIN_SIZE error. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <algorithm> 10 #include <algorithm>
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 // Otherwise, we must wrap the given data in a STUN SEND request so that we 561 // Otherwise, we must wrap the given data in a STUN SEND request so that we
562 // can communicate the destination address to the server. 562 // can communicate the destination address to the server.
563 // 563 //
564 // Note that we do not use a StunRequest here. This is because there is 564 // Note that we do not use a StunRequest here. This is because there is
565 // likely no reason to resend this packet. If it is late, we just drop it. 565 // likely no reason to resend this packet. If it is late, we just drop it.
566 // The next send to this address will try again. 566 // The next send to this address will try again.
567 567
568 RelayMessage request; 568 RelayMessage request;
569 request.SetType(STUN_SEND_REQUEST); 569 request.SetType(STUN_SEND_REQUEST);
570 570
571 StunByteStringAttribute* magic_cookie_attr = 571 auto magic_cookie_attr =
572 StunAttribute::CreateByteString(STUN_ATTR_MAGIC_COOKIE); 572 StunAttribute::CreateByteString(STUN_ATTR_MAGIC_COOKIE);
573 magic_cookie_attr->CopyBytes(TURN_MAGIC_COOKIE_VALUE, 573 magic_cookie_attr->CopyBytes(TURN_MAGIC_COOKIE_VALUE,
574 sizeof(TURN_MAGIC_COOKIE_VALUE)); 574 sizeof(TURN_MAGIC_COOKIE_VALUE));
575 request.AddAttribute(magic_cookie_attr); 575 request.AddAttribute(std::move(magic_cookie_attr));
576 576
577 StunByteStringAttribute* username_attr = 577 auto username_attr = StunAttribute::CreateByteString(STUN_ATTR_USERNAME);
578 StunAttribute::CreateByteString(STUN_ATTR_USERNAME);
579 username_attr->CopyBytes(port_->username_fragment().c_str(), 578 username_attr->CopyBytes(port_->username_fragment().c_str(),
580 port_->username_fragment().size()); 579 port_->username_fragment().size());
581 request.AddAttribute(username_attr); 580 request.AddAttribute(std::move(username_attr));
582 581
583 StunAddressAttribute* addr_attr = 582 auto addr_attr = StunAttribute::CreateAddress(STUN_ATTR_DESTINATION_ADDRESS);
584 StunAttribute::CreateAddress(STUN_ATTR_DESTINATION_ADDRESS);
585 addr_attr->SetIP(addr.ipaddr()); 583 addr_attr->SetIP(addr.ipaddr());
586 addr_attr->SetPort(addr.port()); 584 addr_attr->SetPort(addr.port());
587 request.AddAttribute(addr_attr); 585 request.AddAttribute(std::move(addr_attr));
588 586
589 // Attempt to lock 587 // Attempt to lock
590 if (ext_addr_ == addr) { 588 if (ext_addr_ == addr) {
591 StunUInt32Attribute* options_attr = 589 auto options_attr = StunAttribute::CreateUInt32(STUN_ATTR_OPTIONS);
592 StunAttribute::CreateUInt32(STUN_ATTR_OPTIONS);
593 options_attr->SetValue(0x1); 590 options_attr->SetValue(0x1);
594 request.AddAttribute(options_attr); 591 request.AddAttribute(std::move(options_attr));
595 } 592 }
596 593
597 StunByteStringAttribute* data_attr = 594 auto data_attr = StunAttribute::CreateByteString(STUN_ATTR_DATA);
598 StunAttribute::CreateByteString(STUN_ATTR_DATA);
599 data_attr->CopyBytes(data, size); 595 data_attr->CopyBytes(data, size);
600 request.AddAttribute(data_attr); 596 request.AddAttribute(std::move(data_attr));
601 597
602 // TODO: compute the HMAC. 598 // TODO: compute the HMAC.
603 599
604 rtc::ByteBufferWriter buf; 600 rtc::ByteBufferWriter buf;
605 request.Write(&buf); 601 request.Write(&buf);
606 602
607 return SendPacket(buf.Data(), buf.Length(), options); 603 return SendPacket(buf.Data(), buf.Length(), options);
608 } 604 }
609 605
610 void RelayEntry::ScheduleKeepAlive() { 606 void RelayEntry::ScheduleKeepAlive() {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 RelayConnection* connection) 768 RelayConnection* connection)
773 : StunRequest(new RelayMessage()), 769 : StunRequest(new RelayMessage()),
774 entry_(entry), 770 entry_(entry),
775 connection_(connection) { 771 connection_(connection) {
776 start_time_ = rtc::TimeMillis(); 772 start_time_ = rtc::TimeMillis();
777 } 773 }
778 774
779 void AllocateRequest::Prepare(StunMessage* request) { 775 void AllocateRequest::Prepare(StunMessage* request) {
780 request->SetType(STUN_ALLOCATE_REQUEST); 776 request->SetType(STUN_ALLOCATE_REQUEST);
781 777
782 StunByteStringAttribute* username_attr = 778 auto username_attr = StunAttribute::CreateByteString(STUN_ATTR_USERNAME);
783 StunAttribute::CreateByteString(STUN_ATTR_USERNAME);
784 username_attr->CopyBytes( 779 username_attr->CopyBytes(
785 entry_->port()->username_fragment().c_str(), 780 entry_->port()->username_fragment().c_str(),
786 entry_->port()->username_fragment().size()); 781 entry_->port()->username_fragment().size());
787 request->AddAttribute(username_attr); 782 request->AddAttribute(std::move(username_attr));
788 } 783 }
789 784
790 void AllocateRequest::OnSent() { 785 void AllocateRequest::OnSent() {
791 count_ += 1; 786 count_ += 1;
792 if (count_ == 5) 787 if (count_ == 5)
793 timeout_ = true; 788 timeout_ = true;
794 } 789 }
795 790
796 int AllocateRequest::resend_delay() { 791 int AllocateRequest::resend_delay() {
797 if (count_ == 0) { 792 if (count_ == 0) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout) 826 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout)
832 entry_->ScheduleKeepAlive(); 827 entry_->ScheduleKeepAlive();
833 } 828 }
834 829
835 void AllocateRequest::OnTimeout() { 830 void AllocateRequest::OnTimeout() {
836 LOG(INFO) << "Allocate request timed out"; 831 LOG(INFO) << "Allocate request timed out";
837 entry_->HandleConnectFailure(connection_->socket()); 832 entry_->HandleConnectFailure(connection_->socket());
838 } 833 }
839 834
840 } // namespace cricket 835 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698