| 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 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 void SendPrefacePingIfNoneInFlight(); | 722 void SendPrefacePingIfNoneInFlight(); |
| 723 | 723 |
| 724 // Send PING if there are no PINGs in flight and we haven't heard from server. | 724 // Send PING if there are no PINGs in flight and we haven't heard from server. |
| 725 void SendPrefacePing(); | 725 void SendPrefacePing(); |
| 726 | 726 |
| 727 // Send a single WINDOW_UPDATE frame. | 727 // Send a single WINDOW_UPDATE frame. |
| 728 void SendWindowUpdateFrame(SpdyStreamId stream_id, uint32 delta_window_size, | 728 void SendWindowUpdateFrame(SpdyStreamId stream_id, uint32 delta_window_size, |
| 729 RequestPriority priority); | 729 RequestPriority priority); |
| 730 | 730 |
| 731 // Send the PING frame. | 731 // Send the PING frame. |
| 732 void WritePingFrame(uint32 unique_id, bool is_ack); | 732 void WritePingFrame(SpdyPingId unique_id, bool is_ack); |
| 733 | 733 |
| 734 // Post a CheckPingStatus call after delay. Don't post if there is already | 734 // Post a CheckPingStatus call after delay. Don't post if there is already |
| 735 // CheckPingStatus running. | 735 // CheckPingStatus running. |
| 736 void PlanToCheckPingStatus(); | 736 void PlanToCheckPingStatus(); |
| 737 | 737 |
| 738 // Check the status of the connection. It calls |CloseSessionOnError| if we | 738 // Check the status of the connection. It calls |CloseSessionOnError| if we |
| 739 // haven't received any data in |kHungInterval| time period. | 739 // haven't received any data in |kHungInterval| time period. |
| 740 void CheckPingStatus(base::TimeTicks last_check_time); | 740 void CheckPingStatus(base::TimeTicks last_check_time); |
| 741 | 741 |
| 742 // Get a new stream id. | 742 // Get a new stream id. |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 941 void set_hung_interval(base::TimeDelta duration) { | 941 void set_hung_interval(base::TimeDelta duration) { |
| 942 hung_interval_ = duration; | 942 hung_interval_ = duration; |
| 943 } | 943 } |
| 944 | 944 |
| 945 void set_max_concurrent_pushed_streams(size_t value) { | 945 void set_max_concurrent_pushed_streams(size_t value) { |
| 946 max_concurrent_pushed_streams_ = value; | 946 max_concurrent_pushed_streams_ = value; |
| 947 } | 947 } |
| 948 | 948 |
| 949 int64 pings_in_flight() const { return pings_in_flight_; } | 949 int64 pings_in_flight() const { return pings_in_flight_; } |
| 950 | 950 |
| 951 uint32 next_ping_id() const { return next_ping_id_; } | 951 SpdyPingId next_ping_id() const { return next_ping_id_; } |
| 952 | 952 |
| 953 base::TimeTicks last_activity_time() const { return last_activity_time_; } | 953 base::TimeTicks last_activity_time() const { return last_activity_time_; } |
| 954 | 954 |
| 955 bool check_ping_status_pending() const { return check_ping_status_pending_; } | 955 bool check_ping_status_pending() const { return check_ping_status_pending_; } |
| 956 | 956 |
| 957 size_t max_concurrent_streams() const { return max_concurrent_streams_; } | 957 size_t max_concurrent_streams() const { return max_concurrent_streams_; } |
| 958 | 958 |
| 959 // Returns the SSLClientSocket that this SPDY session sits on top of, | 959 // Returns the SSLClientSocket that this SPDY session sits on top of, |
| 960 // or NULL, if the transport is not SSL. | 960 // or NULL, if the transport is not SSL. |
| 961 SSLClientSocket* GetSSLClientSocket() const; | 961 SSLClientSocket* GetSSLClientSocket() const; |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1078 | 1078 |
| 1079 bool sent_settings_; // Did this session send settings when it started. | 1079 bool sent_settings_; // Did this session send settings when it started. |
| 1080 bool received_settings_; // Did this session receive at least one settings | 1080 bool received_settings_; // Did this session receive at least one settings |
| 1081 // frame. | 1081 // frame. |
| 1082 int stalled_streams_; // Count of streams that were ever stalled. | 1082 int stalled_streams_; // Count of streams that were ever stalled. |
| 1083 | 1083 |
| 1084 // Count of all pings on the wire, for which we have not gotten a response. | 1084 // Count of all pings on the wire, for which we have not gotten a response. |
| 1085 int64 pings_in_flight_; | 1085 int64 pings_in_flight_; |
| 1086 | 1086 |
| 1087 // This is the next ping_id (unique_id) to be sent in PING frame. | 1087 // This is the next ping_id (unique_id) to be sent in PING frame. |
| 1088 uint32 next_ping_id_; | 1088 SpdyPingId next_ping_id_; |
| 1089 | 1089 |
| 1090 // This is the last time we have sent a PING. | 1090 // This is the last time we have sent a PING. |
| 1091 base::TimeTicks last_ping_sent_time_; | 1091 base::TimeTicks last_ping_sent_time_; |
| 1092 | 1092 |
| 1093 // This is the last time we had activity in the session. | 1093 // This is the last time we had activity in the session. |
| 1094 base::TimeTicks last_activity_time_; | 1094 base::TimeTicks last_activity_time_; |
| 1095 | 1095 |
| 1096 // This is the length of the last compressed frame. | 1096 // This is the length of the last compressed frame. |
| 1097 size_t last_compressed_frame_len_; | 1097 size_t last_compressed_frame_len_; |
| 1098 | 1098 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1175 // Used for posting asynchronous IO tasks. We use this even though | 1175 // Used for posting asynchronous IO tasks. We use this even though |
| 1176 // SpdySession is refcounted because we don't need to keep the SpdySession | 1176 // SpdySession is refcounted because we don't need to keep the SpdySession |
| 1177 // alive if the last reference is within a RunnableMethod. Just revoke the | 1177 // alive if the last reference is within a RunnableMethod. Just revoke the |
| 1178 // method. | 1178 // method. |
| 1179 base::WeakPtrFactory<SpdySession> weak_factory_; | 1179 base::WeakPtrFactory<SpdySession> weak_factory_; |
| 1180 }; | 1180 }; |
| 1181 | 1181 |
| 1182 } // namespace net | 1182 } // namespace net |
| 1183 | 1183 |
| 1184 #endif // NET_SPDY_SPDY_SESSION_H_ | 1184 #endif // NET_SPDY_SPDY_SESSION_H_ |
| OLD | NEW |