| OLD | NEW |
| 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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 receive_ssrc_set_ = true; | 275 receive_ssrc_set_ = true; |
| 276 UpdateState(); | 276 UpdateState(); |
| 277 } | 277 } |
| 278 | 278 |
| 279 // The remote peer request that this channel shall be closed. | 279 // The remote peer request that this channel shall be closed. |
| 280 void DataChannel::RemotePeerRequestClose() { | 280 void DataChannel::RemotePeerRequestClose() { |
| 281 DoClose(); | 281 DoClose(); |
| 282 } | 282 } |
| 283 | 283 |
| 284 void DataChannel::SetSctpSid(int sid) { | 284 void DataChannel::SetSctpSid(int sid) { |
| 285 RTC_DCHECK(config_.id < 0 && sid >= 0 && | 285 RTC_DCHECK_LT(config_.id, 0); |
| 286 data_channel_type_ == cricket::DCT_SCTP); | 286 RTC_DCHECK_GE(sid, 0); |
| 287 RTC_DCHECK_EQ(data_channel_type_, cricket::DCT_SCTP); |
| 287 if (config_.id == sid) { | 288 if (config_.id == sid) { |
| 288 return; | 289 return; |
| 289 } | 290 } |
| 290 | 291 |
| 291 config_.id = sid; | 292 config_.id = sid; |
| 292 provider_->AddSctpDataStream(sid); | 293 provider_->AddSctpDataStream(sid); |
| 293 } | 294 } |
| 294 | 295 |
| 295 void DataChannel::OnTransportChannelCreated() { | 296 void DataChannel::OnTransportChannelCreated() { |
| 296 RTC_DCHECK(data_channel_type_ == cricket::DCT_SCTP); | 297 RTC_DCHECK(data_channel_type_ == cricket::DCT_SCTP); |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 } | 612 } |
| 612 } | 613 } |
| 613 | 614 |
| 614 void DataChannel::QueueControlMessage(const rtc::CopyOnWriteBuffer& buffer) { | 615 void DataChannel::QueueControlMessage(const rtc::CopyOnWriteBuffer& buffer) { |
| 615 queued_control_data_.Push(new DataBuffer(buffer, true)); | 616 queued_control_data_.Push(new DataBuffer(buffer, true)); |
| 616 } | 617 } |
| 617 | 618 |
| 618 bool DataChannel::SendControlMessage(const rtc::CopyOnWriteBuffer& buffer) { | 619 bool DataChannel::SendControlMessage(const rtc::CopyOnWriteBuffer& buffer) { |
| 619 bool is_open_message = handshake_state_ == kHandshakeShouldSendOpen; | 620 bool is_open_message = handshake_state_ == kHandshakeShouldSendOpen; |
| 620 | 621 |
| 621 RTC_DCHECK(data_channel_type_ == cricket::DCT_SCTP && writable_ && | 622 RTC_DCHECK_EQ(data_channel_type_, cricket::DCT_SCTP); |
| 622 config_.id >= 0 && (!is_open_message || !config_.negotiated)); | 623 RTC_DCHECK(writable_); |
| 624 RTC_DCHECK_GE(config_.id, 0); |
| 625 RTC_DCHECK(!is_open_message || !config_.negotiated); |
| 623 | 626 |
| 624 cricket::SendDataParams send_params; | 627 cricket::SendDataParams send_params; |
| 625 send_params.sid = config_.id; | 628 send_params.sid = config_.id; |
| 626 // Send data as ordered before we receive any message from the remote peer to | 629 // Send data as ordered before we receive any message from the remote peer to |
| 627 // make sure the remote peer will not receive any data before it receives the | 630 // make sure the remote peer will not receive any data before it receives the |
| 628 // OPEN message. | 631 // OPEN message. |
| 629 send_params.ordered = config_.ordered || is_open_message; | 632 send_params.ordered = config_.ordered || is_open_message; |
| 630 send_params.type = cricket::DMT_CONTROL; | 633 send_params.type = cricket::DMT_CONTROL; |
| 631 | 634 |
| 632 cricket::SendDataResult send_result = cricket::SDR_SUCCESS; | 635 cricket::SendDataResult send_result = cricket::SDR_SUCCESS; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 643 QueueControlMessage(buffer); | 646 QueueControlMessage(buffer); |
| 644 } else { | 647 } else { |
| 645 LOG(LS_ERROR) << "Closing the DataChannel due to a failure to send" | 648 LOG(LS_ERROR) << "Closing the DataChannel due to a failure to send" |
| 646 << " the CONTROL message, send_result = " << send_result; | 649 << " the CONTROL message, send_result = " << send_result; |
| 647 Close(); | 650 Close(); |
| 648 } | 651 } |
| 649 return retval; | 652 return retval; |
| 650 } | 653 } |
| 651 | 654 |
| 652 } // namespace webrtc | 655 } // namespace webrtc |
| OLD | NEW |