| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // A QuicSession, which demuxes a single connection to individual streams. | 5 // A QuicSession, which demuxes a single connection to individual streams. |
| 6 | 6 |
| 7 #ifndef NET_QUIC_QUIC_SESSION_H_ | 7 #ifndef NET_QUIC_QUIC_SESSION_H_ |
| 8 #define NET_QUIC_QUIC_SESSION_H_ | 8 #define NET_QUIC_QUIC_SESSION_H_ |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 | 61 |
| 62 // QuicConnectionVisitorInterface methods: | 62 // QuicConnectionVisitorInterface methods: |
| 63 void OnStreamFrames(const std::vector<QuicStreamFrame>& frames) override; | 63 void OnStreamFrames(const std::vector<QuicStreamFrame>& frames) override; |
| 64 void OnRstStream(const QuicRstStreamFrame& frame) override; | 64 void OnRstStream(const QuicRstStreamFrame& frame) override; |
| 65 void OnGoAway(const QuicGoAwayFrame& frame) override; | 65 void OnGoAway(const QuicGoAwayFrame& frame) override; |
| 66 void OnWindowUpdateFrames( | 66 void OnWindowUpdateFrames( |
| 67 const std::vector<QuicWindowUpdateFrame>& frames) override; | 67 const std::vector<QuicWindowUpdateFrame>& frames) override; |
| 68 void OnBlockedFrames(const std::vector<QuicBlockedFrame>& frames) override; | 68 void OnBlockedFrames(const std::vector<QuicBlockedFrame>& frames) override; |
| 69 void OnConnectionClosed(QuicErrorCode error, bool from_peer) override; | 69 void OnConnectionClosed(QuicErrorCode error, bool from_peer) override; |
| 70 void OnWriteBlocked() override {} | 70 void OnWriteBlocked() override {} |
| 71 void OnSuccessfulVersionNegotiation(const QuicVersion& version) override; | 71 void OnSuccessfulVersionNegotiation(const QuicVersion& version) override {} |
| 72 void OnCanWrite() override; | 72 void OnCanWrite() override; |
| 73 void OnCongestionWindowChange(QuicTime now) override {} | 73 void OnCongestionWindowChange(QuicTime now) override {} |
| 74 bool WillingAndAbleToWrite() const override; | 74 bool WillingAndAbleToWrite() const override; |
| 75 bool HasPendingHandshake() const override; | 75 bool HasPendingHandshake() const override; |
| 76 bool HasOpenDataStreams() const override; | 76 bool HasOpenDataStreams() const override; |
| 77 | 77 |
| 78 // Called by the headers stream when headers have been received for a stream. | 78 // Called by the headers stream when headers have been received for a stream. |
| 79 virtual void OnStreamHeaders(QuicStreamId stream_id, | 79 virtual void OnStreamHeaders(QuicStreamId stream_id, |
| 80 base::StringPiece headers_data); | 80 base::StringPiece headers_data); |
| 81 // Called by the headers stream when headers with a priority have been | 81 // Called by the headers stream when headers with a priority have been |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 base::hash_set<QuicStreamId> implicitly_created_streams_; | 315 base::hash_set<QuicStreamId> implicitly_created_streams_; |
| 316 | 316 |
| 317 // A list of streams which need to write more data. | 317 // A list of streams which need to write more data. |
| 318 QuicWriteBlockedList write_blocked_streams_; | 318 QuicWriteBlockedList write_blocked_streams_; |
| 319 | 319 |
| 320 QuicStreamId largest_peer_created_stream_id_; | 320 QuicStreamId largest_peer_created_stream_id_; |
| 321 | 321 |
| 322 // The latched error with which the connection was closed. | 322 // The latched error with which the connection was closed. |
| 323 QuicErrorCode error_; | 323 QuicErrorCode error_; |
| 324 | 324 |
| 325 // Used for session level flow control. |
| 326 scoped_ptr<QuicFlowController> flow_controller_; |
| 327 |
| 325 // Whether a GoAway has been received. | 328 // Whether a GoAway has been received. |
| 326 bool goaway_received_; | 329 bool goaway_received_; |
| 327 // Whether a GoAway has been sent. | 330 // Whether a GoAway has been sent. |
| 328 bool goaway_sent_; | 331 bool goaway_sent_; |
| 329 | 332 |
| 330 // Indicate if there is pending data for the crypto stream. | 333 // Indicate if there is pending data for the crypto stream. |
| 331 bool has_pending_handshake_; | 334 bool has_pending_handshake_; |
| 332 | 335 |
| 333 // Used for session level flow control. | |
| 334 scoped_ptr<QuicFlowController> flow_controller_; | |
| 335 | |
| 336 // True if this is a secure (HTTPS) QUIC session. | |
| 337 bool is_secure_; | |
| 338 | |
| 339 DISALLOW_COPY_AND_ASSIGN(QuicSession); | 336 DISALLOW_COPY_AND_ASSIGN(QuicSession); |
| 340 }; | 337 }; |
| 341 | 338 |
| 342 } // namespace net | 339 } // namespace net |
| 343 | 340 |
| 344 #endif // NET_QUIC_QUIC_SESSION_H_ | 341 #endif // NET_QUIC_QUIC_SESSION_H_ |
| OLD | NEW |