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

Side by Side Diff: webrtc/p2p/base/dtlstransportchannel.h

Issue 2099783002: Fixing bug where Connection drops packets when presumed writable. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merge with master. Created 4 years, 5 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/candidatepairinterface.h ('k') | webrtc/p2p/base/dtlstransportchannel.cc » ('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 2011 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2011 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 bool HandleDtlsPacket(const char* data, size_t size); 213 bool HandleDtlsPacket(const char* data, size_t size);
214 void OnGatheringState(TransportChannelImpl* channel); 214 void OnGatheringState(TransportChannelImpl* channel);
215 void OnCandidateGathered(TransportChannelImpl* channel, const Candidate& c); 215 void OnCandidateGathered(TransportChannelImpl* channel, const Candidate& c);
216 void OnCandidatesRemoved(TransportChannelImpl* channel, 216 void OnCandidatesRemoved(TransportChannelImpl* channel,
217 const Candidates& candidates); 217 const Candidates& candidates);
218 void OnRoleConflict(TransportChannelImpl* channel); 218 void OnRoleConflict(TransportChannelImpl* channel);
219 void OnRouteChange(TransportChannel* channel, const Candidate& candidate); 219 void OnRouteChange(TransportChannel* channel, const Candidate& candidate);
220 void OnSelectedCandidatePairChanged( 220 void OnSelectedCandidatePairChanged(
221 TransportChannel* channel, 221 TransportChannel* channel,
222 CandidatePairInterface* selected_candidate_pair, 222 CandidatePairInterface* selected_candidate_pair,
223 int last_sent_packet_id); 223 int last_sent_packet_id,
224 bool ready_to_send);
224 void OnChannelStateChanged(TransportChannelImpl* channel); 225 void OnChannelStateChanged(TransportChannelImpl* channel);
225 void Reconnect(); 226 void Reconnect();
226 227
227 rtc::Thread* worker_thread_; // Everything should occur on this thread. 228 rtc::Thread* worker_thread_; // Everything should occur on this thread.
228 // Underlying channel, not owned by this class. 229 // Underlying channel, not owned by this class.
229 TransportChannelImpl* const channel_; 230 TransportChannelImpl* const channel_;
230 std::unique_ptr<rtc::SSLStreamAdapter> dtls_; // The DTLS stream 231 std::unique_ptr<rtc::SSLStreamAdapter> dtls_; // The DTLS stream
231 StreamInterfaceChannel* downward_; // Wrapper for channel_, owned by dtls_. 232 StreamInterfaceChannel* downward_; // Wrapper for channel_, owned by dtls_.
232 std::vector<int> srtp_ciphers_; // SRTP ciphers to use with DTLS. 233 std::vector<int> srtp_ciphers_; // SRTP ciphers to use with DTLS.
233 bool dtls_active_ = false; 234 bool dtls_active_ = false;
234 rtc::scoped_refptr<rtc::RTCCertificate> local_certificate_; 235 rtc::scoped_refptr<rtc::RTCCertificate> local_certificate_;
235 rtc::SSLRole ssl_role_; 236 rtc::SSLRole ssl_role_;
236 rtc::SSLProtocolVersion ssl_max_version_; 237 rtc::SSLProtocolVersion ssl_max_version_;
237 rtc::Buffer remote_fingerprint_value_; 238 rtc::Buffer remote_fingerprint_value_;
238 std::string remote_fingerprint_algorithm_; 239 std::string remote_fingerprint_algorithm_;
239 240
240 // Cached DTLS ClientHello packet that was received before we started the 241 // Cached DTLS ClientHello packet that was received before we started the
241 // DTLS handshake. This could happen if the hello was received before the 242 // DTLS handshake. This could happen if the hello was received before the
242 // transport channel became writable, or before a remote fingerprint was 243 // transport channel became writable, or before a remote fingerprint was
243 // received. 244 // received.
244 rtc::Buffer cached_client_hello_; 245 rtc::Buffer cached_client_hello_;
245 246
246 RTC_DISALLOW_COPY_AND_ASSIGN(DtlsTransportChannelWrapper); 247 RTC_DISALLOW_COPY_AND_ASSIGN(DtlsTransportChannelWrapper);
247 }; 248 };
248 249
249 } // namespace cricket 250 } // namespace cricket
250 251
251 #endif // WEBRTC_P2P_BASE_DTLSTRANSPORTCHANNEL_H_ 252 #endif // WEBRTC_P2P_BASE_DTLSTRANSPORTCHANNEL_H_
OLDNEW
« no previous file with comments | « webrtc/p2p/base/candidatepairinterface.h ('k') | webrtc/p2p/base/dtlstransportchannel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698