| 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 |