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

Side by Side Diff: net/quic/core/quic_client_session_base.cc

Issue 2226643004: QuicSession no longer directly owns its QuicConnection. Not flag protected. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@129226757
Patch Set: Created 4 years, 4 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 | « net/quic/core/quic_client_session_base.h ('k') | net/quic/core/quic_server_session_base.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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/quic_client_session_base.h" 5 #include "net/quic/core/quic_client_session_base.h"
6 6
7 #include "net/quic/core/quic_client_promised_info.h" 7 #include "net/quic/core/quic_client_promised_info.h"
8 #include "net/quic/core/quic_flags.h" 8 #include "net/quic/core/quic_flags.h"
9 #include "net/quic/core/spdy_utils.h" 9 #include "net/quic/core/spdy_utils.h"
10 10
11 using base::StringPiece; 11 using base::StringPiece;
12 using std::string; 12 using std::string;
13 13
14 namespace net { 14 namespace net {
15 15
16 QuicClientSessionBase::QuicClientSessionBase( 16 QuicClientSessionBase::QuicClientSessionBase(
17 QuicConnection* connection, 17 QuicConnection* connection,
18 QuicClientPushPromiseIndex* push_promise_index, 18 QuicClientPushPromiseIndex* push_promise_index,
19 const QuicConfig& config) 19 const QuicConfig& config)
20 : QuicSpdySession(connection, config), 20 : QuicSpdySession(connection, config),
21 push_promise_index_(push_promise_index), 21 push_promise_index_(push_promise_index),
22 largest_promised_stream_id_(kInvalidStreamId) {} 22 largest_promised_stream_id_(kInvalidStreamId) {}
23 23
24 QuicClientSessionBase::~QuicClientSessionBase() { 24 QuicClientSessionBase::~QuicClientSessionBase() {
25 // all promised streams for this session 25 // all promised streams for this session
26 for (auto& it : promised_by_id_) { 26 for (auto& it : promised_by_id_) {
27 DVLOG(1) << "erase stream " << it.first << " url " << it.second->url(); 27 DVLOG(1) << "erase stream " << it.first << " url " << it.second->url();
28 push_promise_index_->promised_by_url()->erase(it.second->url()); 28 push_promise_index_->promised_by_url()->erase(it.second->url());
29 } 29 }
30 delete connection();
30 } 31 }
31 32
32 void QuicClientSessionBase::OnConfigNegotiated() { 33 void QuicClientSessionBase::OnConfigNegotiated() {
33 QuicSpdySession::OnConfigNegotiated(); 34 QuicSpdySession::OnConfigNegotiated();
34 } 35 }
35 36
36 void QuicClientSessionBase::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) { 37 void QuicClientSessionBase::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) {
37 QuicSession::OnCryptoHandshakeEvent(event); 38 QuicSession::OnCryptoHandshakeEvent(event);
38 } 39 }
39 40
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 void QuicClientSessionBase::ResetPromised(QuicStreamId id, 197 void QuicClientSessionBase::ResetPromised(QuicStreamId id,
197 QuicRstStreamErrorCode error_code) { 198 QuicRstStreamErrorCode error_code) {
198 SendRstStream(id, error_code, 0); 199 SendRstStream(id, error_code, 0);
199 if (!IsOpenStream(id)) { 200 if (!IsOpenStream(id)) {
200 MaybeIncreaseLargestPeerStreamId(id); 201 MaybeIncreaseLargestPeerStreamId(id);
201 InsertLocallyClosedStreamsHighestOffset(id, 0); 202 InsertLocallyClosedStreamsHighestOffset(id, 0);
202 } 203 }
203 } 204 }
204 205
205 } // namespace net 206 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_client_session_base.h ('k') | net/quic/core/quic_server_session_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698