OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2016 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 // - The remote QuicSession creates a ReliableQuicStream to receive the data. | 68 // - The remote QuicSession creates a ReliableQuicStream to receive the data. |
69 // The remote QuicDataTransport dispatches the ReliableQuicStream to the | 69 // The remote QuicDataTransport dispatches the ReliableQuicStream to the |
70 // QuicDataChannel with the same id as this data channel. | 70 // QuicDataChannel with the same id as this data channel. |
71 // | 71 // |
72 // - The remote QuicDataChannel queues data from the ReliableQuicStream. Once | 72 // - The remote QuicDataChannel queues data from the ReliableQuicStream. Once |
73 // it receives a QUIC stream frame with a FIN, it provides the message to the | 73 // it receives a QUIC stream frame with a FIN, it provides the message to the |
74 // DataChannelObserver. | 74 // DataChannelObserver. |
75 // | 75 // |
76 // TODO(mikescarlett): Implement ordered delivery, unreliable delivery, and | 76 // TODO(mikescarlett): Implement ordered delivery, unreliable delivery, and |
77 // an OPEN message similar to the one for SCTP. | 77 // an OPEN message similar to the one for SCTP. |
78 class QuicDataChannel : public rtc::RefCountedObject<DataChannelInterface>, | 78 class QuicDataChannel : public DataChannelInterface, |
79 public sigslot::has_slots<> { | 79 public sigslot::has_slots<> { |
80 public: | 80 public: |
81 // Message stores buffered data from the incoming QUIC stream. The QUIC stream | 81 // Message stores buffered data from the incoming QUIC stream. The QUIC stream |
82 // is provided so that remaining data can be received from the remote peer. | 82 // is provided so that remaining data can be received from the remote peer. |
83 struct Message { | 83 struct Message { |
84 uint64_t id; | 84 uint64_t id; |
85 rtc::CopyOnWriteBuffer buffer; | 85 rtc::CopyOnWriteBuffer buffer; |
86 cricket::ReliableQuicStream* stream; | 86 cricket::ReliableQuicStream* stream; |
87 }; | 87 }; |
88 | 88 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 uint64_t next_message_id_; | 211 uint64_t next_message_id_; |
212 | 212 |
213 // Variables for application use. | 213 // Variables for application use. |
214 const std::string& label_; | 214 const std::string& label_; |
215 const std::string& protocol_; | 215 const std::string& protocol_; |
216 }; | 216 }; |
217 | 217 |
218 } // namespace webrtc | 218 } // namespace webrtc |
219 | 219 |
220 #endif // PC_QUICDATACHANNEL_H_ | 220 #endif // PC_QUICDATACHANNEL_H_ |
OLD | NEW |