OLD | NEW |
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 Loading... |
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 |
OLD | NEW |