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

Side by Side Diff: webrtc/p2p/quic/quicsession.cc

Issue 1834233002: Update QuicTransportChannel to latest version of libquic (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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/quic/quicsession.h ('k') | webrtc/p2p/quic/quicsession_unittest.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 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
11 #include "webrtc/p2p/quic/quicsession.h" 11 #include "webrtc/p2p/quic/quicsession.h"
12 12
13 #include <string> 13 #include <string>
14 #include <utility> 14 #include <utility>
15 15
16 #include "webrtc/base/checks.h" 16 #include "webrtc/base/checks.h"
17 #include "webrtc/base/logging.h" 17 #include "webrtc/base/logging.h"
18 #include "webrtc/base/messagehandler.h" 18 #include "webrtc/base/messagehandler.h"
19 #include "webrtc/base/messagequeue.h" 19 #include "webrtc/base/messagequeue.h"
20 20
21 namespace cricket { 21 namespace cricket {
22 22
23 QuicSession::QuicSession(scoped_ptr<net::QuicConnection> connection, 23 QuicSession::QuicSession(rtc::scoped_ptr<net::QuicConnection> connection,
24 const net::QuicConfig& config) 24 const net::QuicConfig& config)
25 : net::QuicSession(connection.release(), config) {} 25 : net::QuicSession(connection.release(), config) {}
26 26
27 QuicSession::~QuicSession() {} 27 QuicSession::~QuicSession() {}
28 28
29 void QuicSession::StartClientHandshake( 29 void QuicSession::StartClientHandshake(
30 net::QuicCryptoClientStream* crypto_stream) { 30 net::QuicCryptoClientStream* crypto_stream) {
31 SetCryptoStream(crypto_stream); 31 SetCryptoStream(crypto_stream);
32 net::QuicSession::Initialize(); 32 net::QuicSession::Initialize();
33 crypto_stream->CryptoConnect(); 33 crypto_stream->CryptoConnect();
(...skipping 13 matching lines...) Expand all
47 base::StringPiece context, 47 base::StringPiece context,
48 size_t result_len, 48 size_t result_len,
49 string* result) { 49 string* result) {
50 return crypto_stream_->ExportKeyingMaterial(label, context, result_len, 50 return crypto_stream_->ExportKeyingMaterial(label, context, result_len,
51 result); 51 result);
52 } 52 }
53 53
54 void QuicSession::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) { 54 void QuicSession::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) {
55 net::QuicSession::OnCryptoHandshakeEvent(event); 55 net::QuicSession::OnCryptoHandshakeEvent(event);
56 if (event == HANDSHAKE_CONFIRMED) { 56 if (event == HANDSHAKE_CONFIRMED) {
57 LOG(INFO) << "QuicSession handshake complete"; 57 LOG(LS_INFO) << "QuicSession handshake complete";
58 RTC_DCHECK(IsEncryptionEstablished()); 58 RTC_DCHECK(IsEncryptionEstablished());
59 RTC_DCHECK(IsCryptoHandshakeConfirmed()); 59 RTC_DCHECK(IsCryptoHandshakeConfirmed());
60 60
61 SignalHandshakeComplete(); 61 SignalHandshakeComplete();
62 } 62 }
63 } 63 }
64 64
65 ReliableQuicStream* QuicSession::CreateIncomingDynamicStream( 65 ReliableQuicStream* QuicSession::CreateIncomingDynamicStream(
66 net::QuicStreamId id) { 66 net::QuicStreamId id) {
67 ReliableQuicStream* stream = CreateDataStream(id); 67 ReliableQuicStream* stream = CreateDataStream(id);
(...skipping 13 matching lines...) Expand all
81 } 81 }
82 82
83 ReliableQuicStream* QuicSession::CreateDataStream(net::QuicStreamId id) { 83 ReliableQuicStream* QuicSession::CreateDataStream(net::QuicStreamId id) {
84 if (crypto_stream_ == nullptr || !crypto_stream_->encryption_established()) { 84 if (crypto_stream_ == nullptr || !crypto_stream_->encryption_established()) {
85 // Encryption not active so no stream created 85 // Encryption not active so no stream created
86 return nullptr; 86 return nullptr;
87 } 87 }
88 return new ReliableQuicStream(id, this); 88 return new ReliableQuicStream(id, this);
89 } 89 }
90 90
91 void QuicSession::OnConnectionClosed(net::QuicErrorCode error, bool from_peer) { 91 void QuicSession::OnConnectionClosed(net::QuicErrorCode error,
92 net::QuicSession::OnConnectionClosed(error, from_peer); 92 net::ConnectionCloseSource source) {
93 SignalConnectionClosed(error, from_peer); 93 net::QuicSession::OnConnectionClosed(error, source);
94 SignalConnectionClosed(error,
95 source == net::ConnectionCloseSource::FROM_PEER);
94 } 96 }
95 97
96 bool QuicSession::OnReadPacket(const char* data, size_t data_len) { 98 bool QuicSession::OnReadPacket(const char* data, size_t data_len) {
97 net::QuicEncryptedPacket packet(data, data_len); 99 net::QuicEncryptedPacket packet(data, data_len);
98 connection()->ProcessUdpPacket(connection()->self_address(), 100 connection()->ProcessUdpPacket(connection()->self_address(),
99 connection()->peer_address(), packet); 101 connection()->peer_address(), packet);
100 return true; 102 return true;
101 } 103 }
102 104
103 } // namespace cricket 105 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/p2p/quic/quicsession.h ('k') | webrtc/p2p/quic/quicsession_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698