| 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 #ifndef NET_SPDY_SPDY_SESSION_H_ | 5 #ifndef NET_SPDY_SPDY_SESSION_H_ |
| 6 #define NET_SPDY_SPDY_SESSION_H_ | 6 #define NET_SPDY_SPDY_SESSION_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GetActivePushStream); | 486 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GetActivePushStream); |
| 487 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, DeleteExpiredPushStreams); | 487 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, DeleteExpiredPushStreams); |
| 488 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ProtocolNegotiation); | 488 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ProtocolNegotiation); |
| 489 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ClearSettings); | 489 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ClearSettings); |
| 490 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, AdjustRecvWindowSize); | 490 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, AdjustRecvWindowSize); |
| 491 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, AdjustSendWindowSize); | 491 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, AdjustSendWindowSize); |
| 492 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlInactiveStream); | 492 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlInactiveStream); |
| 493 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoReceiveLeaks); | 493 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoReceiveLeaks); |
| 494 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoSendLeaks); | 494 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoSendLeaks); |
| 495 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlEndToEnd); | 495 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlEndToEnd); |
| 496 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, StreamIdSpaceExhausted); |
| 496 | 497 |
| 497 typedef std::deque<base::WeakPtr<SpdyStreamRequest> > | 498 typedef std::deque<base::WeakPtr<SpdyStreamRequest> > |
| 498 PendingStreamRequestQueue; | 499 PendingStreamRequestQueue; |
| 499 | 500 |
| 500 struct ActiveStreamInfo { | 501 struct ActiveStreamInfo { |
| 501 ActiveStreamInfo(); | 502 ActiveStreamInfo(); |
| 502 explicit ActiveStreamInfo(SpdyStream* stream); | 503 explicit ActiveStreamInfo(SpdyStream* stream); |
| 503 ~ActiveStreamInfo(); | 504 ~ActiveStreamInfo(); |
| 504 | 505 |
| 505 SpdyStream* stream; | 506 SpdyStream* stream; |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 | 678 |
| 678 // Post a CheckPingStatus call after delay. Don't post if there is already | 679 // Post a CheckPingStatus call after delay. Don't post if there is already |
| 679 // CheckPingStatus running. | 680 // CheckPingStatus running. |
| 680 void PlanToCheckPingStatus(); | 681 void PlanToCheckPingStatus(); |
| 681 | 682 |
| 682 // Check the status of the connection. It calls |CloseSessionOnError| if we | 683 // Check the status of the connection. It calls |CloseSessionOnError| if we |
| 683 // haven't received any data in |kHungInterval| time period. | 684 // haven't received any data in |kHungInterval| time period. |
| 684 void CheckPingStatus(base::TimeTicks last_check_time); | 685 void CheckPingStatus(base::TimeTicks last_check_time); |
| 685 | 686 |
| 686 // Get a new stream id. | 687 // Get a new stream id. |
| 687 int GetNewStreamId(); | 688 SpdyStreamId GetNewStreamId(); |
| 688 | 689 |
| 689 // Pushes the given frame with the given priority into the write | 690 // Pushes the given frame with the given priority into the write |
| 690 // queue for the session. | 691 // queue for the session. |
| 691 void EnqueueSessionWrite(RequestPriority priority, | 692 void EnqueueSessionWrite(RequestPriority priority, |
| 692 SpdyFrameType frame_type, | 693 SpdyFrameType frame_type, |
| 693 scoped_ptr<SpdyFrame> frame); | 694 scoped_ptr<SpdyFrame> frame); |
| 694 | 695 |
| 695 // Puts |producer| associated with |stream| onto the write queue | 696 // Puts |producer| associated with |stream| onto the write queue |
| 696 // with the given priority. | 697 // with the given priority. |
| 697 void EnqueueWrite(RequestPriority priority, | 698 void EnqueueWrite(RequestPriority priority, |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 // this to NULL after we are removed from the pool. | 947 // this to NULL after we are removed from the pool. |
| 947 SpdySessionPool* pool_; | 948 SpdySessionPool* pool_; |
| 948 const base::WeakPtr<HttpServerProperties> http_server_properties_; | 949 const base::WeakPtr<HttpServerProperties> http_server_properties_; |
| 949 | 950 |
| 950 // The socket handle for this session. | 951 // The socket handle for this session. |
| 951 scoped_ptr<ClientSocketHandle> connection_; | 952 scoped_ptr<ClientSocketHandle> connection_; |
| 952 | 953 |
| 953 // The read buffer used to read data from the socket. | 954 // The read buffer used to read data from the socket. |
| 954 scoped_refptr<IOBuffer> read_buffer_; | 955 scoped_refptr<IOBuffer> read_buffer_; |
| 955 | 956 |
| 956 int stream_hi_water_mark_; // The next stream id to use. | 957 SpdyStreamId stream_hi_water_mark_; // The next stream id to use. |
| 957 | 958 |
| 958 // Queue, for each priority, of pending stream requests that have | 959 // Queue, for each priority, of pending stream requests that have |
| 959 // not yet been satisfied. | 960 // not yet been satisfied. |
| 960 PendingStreamRequestQueue pending_create_stream_queues_[NUM_PRIORITIES]; | 961 PendingStreamRequestQueue pending_create_stream_queues_[NUM_PRIORITIES]; |
| 961 | 962 |
| 962 // Map from stream id to all active streams. Streams are active in the sense | 963 // Map from stream id to all active streams. Streams are active in the sense |
| 963 // that they have a consumer (typically SpdyNetworkTransaction and regardless | 964 // that they have a consumer (typically SpdyNetworkTransaction and regardless |
| 964 // of whether or not there is currently any ongoing IO [might be waiting for | 965 // of whether or not there is currently any ongoing IO [might be waiting for |
| 965 // the server to start pushing the stream]) or there are still network events | 966 // the server to start pushing the stream]) or there are still network events |
| 966 // incoming even though the consumer has already gone away (cancellation). | 967 // incoming even though the consumer has already gone away (cancellation). |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1124 // This SPDY proxy is allowed to push resources from origins that are | 1125 // This SPDY proxy is allowed to push resources from origins that are |
| 1125 // different from those of their associated streams. | 1126 // different from those of their associated streams. |
| 1126 HostPortPair trusted_spdy_proxy_; | 1127 HostPortPair trusted_spdy_proxy_; |
| 1127 | 1128 |
| 1128 TimeFunc time_func_; | 1129 TimeFunc time_func_; |
| 1129 }; | 1130 }; |
| 1130 | 1131 |
| 1131 } // namespace net | 1132 } // namespace net |
| 1132 | 1133 |
| 1133 #endif // NET_SPDY_SPDY_SESSION_H_ | 1134 #endif // NET_SPDY_SPDY_SESSION_H_ |
| OLD | NEW |