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 <vector> | 10 #include <vector> |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 ENCRYPTION_REESTABLISHED, | 48 ENCRYPTION_REESTABLISHED, |
49 // HANDSHAKE_CONFIRMED, in a client, indicates the the server has accepted | 49 // HANDSHAKE_CONFIRMED, in a client, indicates the the server has accepted |
50 // our handshake. In a server it indicates that a full, valid client hello | 50 // our handshake. In a server it indicates that a full, valid client hello |
51 // has been received. (Client and server.) | 51 // has been received. (Client and server.) |
52 HANDSHAKE_CONFIRMED, | 52 HANDSHAKE_CONFIRMED, |
53 }; | 53 }; |
54 | 54 |
55 QuicSession(QuicConnection* connection, const QuicConfig& config); | 55 QuicSession(QuicConnection* connection, const QuicConfig& config); |
56 void InitializeSession(); | 56 void InitializeSession(); |
57 | 57 |
58 virtual ~QuicSession(); | 58 ~QuicSession() override; |
59 | 59 |
60 // QuicConnectionVisitorInterface methods: | 60 // QuicConnectionVisitorInterface methods: |
61 virtual void OnStreamFrames( | 61 void OnStreamFrames(const std::vector<QuicStreamFrame>& frames) override; |
62 const std::vector<QuicStreamFrame>& frames) override; | 62 void OnRstStream(const QuicRstStreamFrame& frame) override; |
63 virtual void OnRstStream(const QuicRstStreamFrame& frame) override; | 63 void OnGoAway(const QuicGoAwayFrame& frame) override; |
64 virtual void OnGoAway(const QuicGoAwayFrame& frame) override; | 64 void OnWindowUpdateFrames( |
65 virtual void OnWindowUpdateFrames( | |
66 const std::vector<QuicWindowUpdateFrame>& frames) override; | 65 const std::vector<QuicWindowUpdateFrame>& frames) override; |
67 virtual void OnBlockedFrames( | 66 void OnBlockedFrames(const std::vector<QuicBlockedFrame>& frames) override; |
68 const std::vector<QuicBlockedFrame>& frames) override; | 67 void OnConnectionClosed(QuicErrorCode error, bool from_peer) override; |
69 virtual void OnConnectionClosed(QuicErrorCode error, bool from_peer) override; | 68 void OnWriteBlocked() override {} |
70 virtual void OnWriteBlocked() override {} | 69 void OnSuccessfulVersionNegotiation(const QuicVersion& version) override; |
71 virtual void OnSuccessfulVersionNegotiation( | 70 void OnCanWrite() override; |
72 const QuicVersion& version) override; | 71 void OnCongestionWindowChange(QuicTime now) override {} |
73 virtual void OnCanWrite() override; | 72 bool WillingAndAbleToWrite() const override; |
74 virtual void OnCongestionWindowChange(QuicTime now) override {} | 73 bool HasPendingHandshake() const override; |
75 virtual bool WillingAndAbleToWrite() const override; | 74 bool HasOpenDataStreams() const override; |
76 virtual bool HasPendingHandshake() const override; | |
77 virtual bool HasOpenDataStreams() const override; | |
78 | 75 |
79 // Called by the headers stream when headers have been received for a stream. | 76 // Called by the headers stream when headers have been received for a stream. |
80 virtual void OnStreamHeaders(QuicStreamId stream_id, | 77 virtual void OnStreamHeaders(QuicStreamId stream_id, |
81 base::StringPiece headers_data); | 78 base::StringPiece headers_data); |
82 // Called by the headers stream when headers with a priority have been | 79 // Called by the headers stream when headers with a priority have been |
83 // received for this stream. This method will only be called for server | 80 // received for this stream. This method will only be called for server |
84 // streams. | 81 // streams. |
85 virtual void OnStreamHeadersPriority(QuicStreamId stream_id, | 82 virtual void OnStreamHeadersPriority(QuicStreamId stream_id, |
86 QuicPriority priority); | 83 QuicPriority priority); |
87 // Called by the headers stream when headers have been completely received | 84 // Called by the headers stream when headers have been completely received |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 | 325 |
329 // Used for session level flow control. | 326 // Used for session level flow control. |
330 scoped_ptr<QuicFlowController> flow_controller_; | 327 scoped_ptr<QuicFlowController> flow_controller_; |
331 | 328 |
332 DISALLOW_COPY_AND_ASSIGN(QuicSession); | 329 DISALLOW_COPY_AND_ASSIGN(QuicSession); |
333 }; | 330 }; |
334 | 331 |
335 } // namespace net | 332 } // namespace net |
336 | 333 |
337 #endif // NET_QUIC_QUIC_SESSION_H_ | 334 #endif // NET_QUIC_QUIC_SESSION_H_ |
OLD | NEW |