| 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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 | 305 |
| 306 // Returns the ServerBoundCertService used by this Socket, or NULL | 306 // Returns the ServerBoundCertService used by this Socket, or NULL |
| 307 // if server bound certs are not supported in this session. | 307 // if server bound certs are not supported in this session. |
| 308 ServerBoundCertService* GetServerBoundCertService() const; | 308 ServerBoundCertService* GetServerBoundCertService() const; |
| 309 | 309 |
| 310 // Send a WINDOW_UPDATE frame for a stream. Called by a stream | 310 // Send a WINDOW_UPDATE frame for a stream. Called by a stream |
| 311 // whenever receive window size is increased. | 311 // whenever receive window size is increased. |
| 312 void SendStreamWindowUpdate(SpdyStreamId stream_id, | 312 void SendStreamWindowUpdate(SpdyStreamId stream_id, |
| 313 uint32 delta_window_size); | 313 uint32 delta_window_size); |
| 314 | 314 |
| 315 // Called by a stream to increase this session's receive window size | |
| 316 // by |delta_window_size|, which must be at least 1 and must not | |
| 317 // cause this session's receive window size to overflow, possibly | |
| 318 // also sending a WINDOW_UPDATE frame. Does nothing if session flow | |
| 319 // control is turned off. | |
| 320 void IncreaseRecvWindowSize(int32 delta_window_size); | |
| 321 | |
| 322 // If session is closed, no new streams/transactions should be created. | 315 // If session is closed, no new streams/transactions should be created. |
| 323 bool IsClosed() const { return state_ == CLOSED; } | 316 bool IsClosed() const { return state_ == CLOSED; } |
| 324 | 317 |
| 325 // Closes this session. This will close all active streams and mark | 318 // Closes this session. This will close all active streams and mark |
| 326 // the session as permanently closed. | 319 // the session as permanently closed. |
| 327 // |err| should not be OK; this function is intended to be called on | 320 // |err| should not be OK; this function is intended to be called on |
| 328 // error. | 321 // error. |
| 329 // |remove_from_pool| indicates whether to also remove the session from the | 322 // |remove_from_pool| indicates whether to also remove the session from the |
| 330 // session pool. | 323 // session pool. |
| 331 // |description| indicates the reason for the error. | 324 // |description| indicates the reason for the error. |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, GetActivePushStream); | 452 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, GetActivePushStream); |
| 460 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, DeleteExpiredPushStreams); | 453 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, DeleteExpiredPushStreams); |
| 461 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation); | 454 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation); |
| 462 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation31); | 455 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation31); |
| 463 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation4); | 456 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, ProtocolNegotiation4); |
| 464 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, IncreaseRecvWindowSize); | 457 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, IncreaseRecvWindowSize); |
| 465 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, AdjustRecvWindowSize31); | 458 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, AdjustRecvWindowSize31); |
| 466 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, AdjustSendWindowSize31); | 459 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, AdjustSendWindowSize31); |
| 467 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, | 460 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, |
| 468 SessionFlowControlInactiveStream31); | 461 SessionFlowControlInactiveStream31); |
| 462 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, |
| 463 SessionFlowControlNoReceiveLeaks31); |
| 469 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, SessionFlowControlEndToEnd31); | 464 FRIEND_TEST_ALL_PREFIXES(SpdySessionSpdy3Test, SessionFlowControlEndToEnd31); |
| 470 | 465 |
| 471 typedef std::deque<SpdyStreamRequest*> PendingStreamRequestQueue; | 466 typedef std::deque<SpdyStreamRequest*> PendingStreamRequestQueue; |
| 472 typedef std::set<SpdyStreamRequest*> PendingStreamRequestCompletionSet; | 467 typedef std::set<SpdyStreamRequest*> PendingStreamRequestCompletionSet; |
| 473 | 468 |
| 474 typedef std::map<int, scoped_refptr<SpdyStream> > ActiveStreamMap; | 469 typedef std::map<int, scoped_refptr<SpdyStream> > ActiveStreamMap; |
| 475 typedef std::map<std::string, | 470 typedef std::map<std::string, |
| 476 std::pair<scoped_refptr<SpdyStream>, base::TimeTicks> > PushedStreamMap; | 471 std::pair<scoped_refptr<SpdyStream>, base::TimeTicks> > PushedStreamMap; |
| 477 | 472 |
| 478 typedef std::set<scoped_refptr<SpdyStream> > CreatedStreamSet; | 473 typedef std::set<scoped_refptr<SpdyStream> > CreatedStreamSet; |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 // empty. | 656 // empty. |
| 662 SpdyStreamId PopStreamToPossiblyResume(); | 657 SpdyStreamId PopStreamToPossiblyResume(); |
| 663 | 658 |
| 664 // If session flow control is turned on, called by CreateDataFrame() | 659 // If session flow control is turned on, called by CreateDataFrame() |
| 665 // (which is in turn called by a stream) to decrease this session's | 660 // (which is in turn called by a stream) to decrease this session's |
| 666 // send window size by |delta_window_size|, which must be at least 1 | 661 // send window size by |delta_window_size|, which must be at least 1 |
| 667 // and at most kMaxSpdyFrameChunkSize. |delta_window_size| must not | 662 // and at most kMaxSpdyFrameChunkSize. |delta_window_size| must not |
| 668 // cause this session's send window size to go negative. | 663 // cause this session's send window size to go negative. |
| 669 void DecreaseSendWindowSize(int32 delta_window_size); | 664 void DecreaseSendWindowSize(int32 delta_window_size); |
| 670 | 665 |
| 666 // Called by SpdyBuffers (via ConsumeCallbacks) to increase this |
| 667 // session's receive window size by |delta_window_size|, which must |
| 668 // be at least 1 and must not cause this session's receive window |
| 669 // size to overflow, possibly also sending a WINDOW_UPDATE |
| 670 // frame. Also called during initialization to set the initial |
| 671 // receive window size. Does nothing if session flow control is |
| 672 // turned off. |
| 673 void IncreaseRecvWindowSize(size_t delta_window_size); |
| 674 |
| 671 // If session flow control is turned on, called by OnStreamFrameData | 675 // If session flow control is turned on, called by OnStreamFrameData |
| 672 // (which is in turn called by the framer) to decrease this | 676 // (which is in turn called by the framer) to decrease this |
| 673 // session's receive window size by |delta_window_size|, which must | 677 // session's receive window size by |delta_window_size|, which must |
| 674 // be at least 1 and must not cause this session's receive window | 678 // be at least 1 and must not cause this session's receive window |
| 675 // size to go negative. | 679 // size to go negative. |
| 676 void DecreaseRecvWindowSize(int32 delta_window_size); | 680 void DecreaseRecvWindowSize(int32 delta_window_size); |
| 677 | 681 |
| 678 // -------------------------- | 682 // -------------------------- |
| 679 // Helper methods for testing | 683 // Helper methods for testing |
| 680 // -------------------------- | 684 // -------------------------- |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 884 // This SPDY proxy is allowed to push resources from origins that are | 888 // This SPDY proxy is allowed to push resources from origins that are |
| 885 // different from those of their associated streams. | 889 // different from those of their associated streams. |
| 886 HostPortPair trusted_spdy_proxy_; | 890 HostPortPair trusted_spdy_proxy_; |
| 887 | 891 |
| 888 TimeFunc time_func_; | 892 TimeFunc time_func_; |
| 889 }; | 893 }; |
| 890 | 894 |
| 891 } // namespace net | 895 } // namespace net |
| 892 | 896 |
| 893 #endif // NET_SPDY_SPDY_SESSION_H_ | 897 #endif // NET_SPDY_SPDY_SESSION_H_ |
| OLD | NEW |