| 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 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 const base::hash_map<QuicStreamId, QuicDataStream*>* streams() const { | 245 const base::hash_map<QuicStreamId, QuicDataStream*>* streams() const { |
| 246 return &stream_map_; | 246 return &stream_map_; |
| 247 } | 247 } |
| 248 | 248 |
| 249 std::vector<QuicDataStream*>* closed_streams() { return &closed_streams_; } | 249 std::vector<QuicDataStream*>* closed_streams() { return &closed_streams_; } |
| 250 | 250 |
| 251 size_t get_max_open_streams() const { | 251 size_t get_max_open_streams() const { |
| 252 return max_open_streams_; | 252 return max_open_streams_; |
| 253 } | 253 } |
| 254 | 254 |
| 255 scoped_ptr<QuicHeadersStream> headers_stream_; |
| 256 |
| 255 private: | 257 private: |
| 256 friend class test::QuicSessionPeer; | 258 friend class test::QuicSessionPeer; |
| 257 friend class VisitorShim; | 259 friend class VisitorShim; |
| 258 | 260 |
| 259 // Performs the work required to close |stream_id|. If |locally_reset| | 261 // Performs the work required to close |stream_id|. If |locally_reset| |
| 260 // then the stream has been reset by this endpoint, not by the peer. | 262 // then the stream has been reset by this endpoint, not by the peer. |
| 261 void CloseStreamInner(QuicStreamId stream_id, bool locally_reset); | 263 void CloseStreamInner(QuicStreamId stream_id, bool locally_reset); |
| 262 | 264 |
| 263 // When a stream is closed locally, it may not yet know how many bytes the | 265 // When a stream is closed locally, it may not yet know how many bytes the |
| 264 // peer sent on that stream. | 266 // peer sent on that stream. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 275 // control window in a negotiated config. Closes the connection if invalid. | 277 // control window in a negotiated config. Closes the connection if invalid. |
| 276 void OnNewSessionFlowControlWindow(uint32 new_window); | 278 void OnNewSessionFlowControlWindow(uint32 new_window); |
| 277 | 279 |
| 278 // Keep track of highest received byte offset of locally closed streams, while | 280 // Keep track of highest received byte offset of locally closed streams, while |
| 279 // waiting for a definitive final highest offset from the peer. | 281 // waiting for a definitive final highest offset from the peer. |
| 280 std::map<QuicStreamId, QuicStreamOffset> | 282 std::map<QuicStreamId, QuicStreamOffset> |
| 281 locally_closed_streams_highest_offset_; | 283 locally_closed_streams_highest_offset_; |
| 282 | 284 |
| 283 scoped_ptr<QuicConnection> connection_; | 285 scoped_ptr<QuicConnection> connection_; |
| 284 | 286 |
| 285 scoped_ptr<QuicHeadersStream> headers_stream_; | |
| 286 | |
| 287 // A shim to stand between the connection and the session, to handle stream | 287 // A shim to stand between the connection and the session, to handle stream |
| 288 // deletions. | 288 // deletions. |
| 289 scoped_ptr<VisitorShim> visitor_shim_; | 289 scoped_ptr<VisitorShim> visitor_shim_; |
| 290 | 290 |
| 291 std::vector<QuicDataStream*> closed_streams_; | 291 std::vector<QuicDataStream*> closed_streams_; |
| 292 | 292 |
| 293 QuicConfig config_; | 293 QuicConfig config_; |
| 294 | 294 |
| 295 // Returns the maximum number of streams this connection can open. | 295 // Returns the maximum number of streams this connection can open. |
| 296 size_t max_open_streams_; | 296 size_t max_open_streams_; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 321 | 321 |
| 322 // Used for session level flow control. | 322 // Used for session level flow control. |
| 323 scoped_ptr<QuicFlowController> flow_controller_; | 323 scoped_ptr<QuicFlowController> flow_controller_; |
| 324 | 324 |
| 325 DISALLOW_COPY_AND_ASSIGN(QuicSession); | 325 DISALLOW_COPY_AND_ASSIGN(QuicSession); |
| 326 }; | 326 }; |
| 327 | 327 |
| 328 } // namespace net | 328 } // namespace net |
| 329 | 329 |
| 330 #endif // NET_QUIC_QUIC_SESSION_H_ | 330 #endif // NET_QUIC_QUIC_SESSION_H_ |
| OLD | NEW |