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

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

Issue 1821083002: Split ByteBuffer into writer/reader objects. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 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
« no previous file with comments | « webrtc/p2p/base/stunserver_unittest.cc ('k') | webrtc/p2p/base/turnserver.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2012 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 10
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 } 779 }
780 } 780 }
781 781
782 void TurnPort::OnAllocateRequestTimeout() { 782 void TurnPort::OnAllocateRequestTimeout() {
783 OnAllocateError(); 783 OnAllocateError();
784 } 784 }
785 785
786 void TurnPort::HandleDataIndication(const char* data, size_t size, 786 void TurnPort::HandleDataIndication(const char* data, size_t size,
787 const rtc::PacketTime& packet_time) { 787 const rtc::PacketTime& packet_time) {
788 // Read in the message, and process according to RFC5766, Section 10.4. 788 // Read in the message, and process according to RFC5766, Section 10.4.
789 rtc::ByteBuffer buf(data, size); 789 rtc::ByteBufferReader buf(data, size);
790 TurnMessage msg; 790 TurnMessage msg;
791 if (!msg.Read(&buf)) { 791 if (!msg.Read(&buf)) {
792 LOG_J(LS_WARNING, this) << "Received invalid TURN data indication"; 792 LOG_J(LS_WARNING, this) << "Received invalid TURN data indication";
793 return; 793 return;
794 } 794 }
795 795
796 // Check mandatory attributes. 796 // Check mandatory attributes.
797 const StunAddressAttribute* addr_attr = 797 const StunAddressAttribute* addr_attr =
798 msg.GetAddress(STUN_ATTR_XOR_PEER_ADDRESS); 798 msg.GetAddress(STUN_ATTR_XOR_PEER_ADDRESS);
799 if (!addr_attr) { 799 if (!addr_attr) {
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 delay); 1418 delay);
1419 } 1419 }
1420 1420
1421 void TurnEntry::SendChannelBindRequest(int delay) { 1421 void TurnEntry::SendChannelBindRequest(int delay) {
1422 port_->SendRequest(new TurnChannelBindRequest( 1422 port_->SendRequest(new TurnChannelBindRequest(
1423 port_, this, channel_id_, ext_addr_), delay); 1423 port_, this, channel_id_, ext_addr_), delay);
1424 } 1424 }
1425 1425
1426 int TurnEntry::Send(const void* data, size_t size, bool payload, 1426 int TurnEntry::Send(const void* data, size_t size, bool payload,
1427 const rtc::PacketOptions& options) { 1427 const rtc::PacketOptions& options) {
1428 rtc::ByteBuffer buf; 1428 rtc::ByteBufferWriter buf;
1429 if (state_ != STATE_BOUND) { 1429 if (state_ != STATE_BOUND) {
1430 // If we haven't bound the channel yet, we have to use a Send Indication. 1430 // If we haven't bound the channel yet, we have to use a Send Indication.
1431 TurnMessage msg; 1431 TurnMessage msg;
1432 msg.SetType(TURN_SEND_INDICATION); 1432 msg.SetType(TURN_SEND_INDICATION);
1433 msg.SetTransactionID( 1433 msg.SetTransactionID(
1434 rtc::CreateRandomString(kStunTransactionIdLength)); 1434 rtc::CreateRandomString(kStunTransactionIdLength));
1435 VERIFY(msg.AddAttribute(new StunXorAddressAttribute( 1435 VERIFY(msg.AddAttribute(new StunXorAddressAttribute(
1436 STUN_ATTR_XOR_PEER_ADDRESS, ext_addr_))); 1436 STUN_ATTR_XOR_PEER_ADDRESS, ext_addr_)));
1437 VERIFY(msg.AddAttribute(new StunByteStringAttribute( 1437 VERIFY(msg.AddAttribute(new StunByteStringAttribute(
1438 STUN_ATTR_DATA, data, size))); 1438 STUN_ATTR_DATA, data, size)));
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1512 } else { 1512 } else {
1513 state_ = STATE_UNBOUND; 1513 state_ = STATE_UNBOUND;
1514 port_->DestroyConnection(ext_addr_); 1514 port_->DestroyConnection(ext_addr_);
1515 } 1515 }
1516 } 1516 }
1517 void TurnEntry::OnChannelBindTimeout() { 1517 void TurnEntry::OnChannelBindTimeout() {
1518 state_ = STATE_UNBOUND; 1518 state_ = STATE_UNBOUND;
1519 port_->DestroyConnection(ext_addr_); 1519 port_->DestroyConnection(ext_addr_);
1520 } 1520 }
1521 } // namespace cricket 1521 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/p2p/base/stunserver_unittest.cc ('k') | webrtc/p2p/base/turnserver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698