| 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 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 } | 510 } |
| 511 | 511 |
| 512 // https://http2.github.io/http2-spec/#TLSUsage mandates minimum security | 512 // https://http2.github.io/http2-spec/#TLSUsage mandates minimum security |
| 513 // standards for TLS. | 513 // standards for TLS. |
| 514 bool HasAcceptableTransportSecurity() const; | 514 bool HasAcceptableTransportSecurity() const; |
| 515 | 515 |
| 516 // Must be used only by |pool_|. | 516 // Must be used only by |pool_|. |
| 517 base::WeakPtr<SpdySession> GetWeakPtr(); | 517 base::WeakPtr<SpdySession> GetWeakPtr(); |
| 518 | 518 |
| 519 // HigherLayeredPool implementation: | 519 // HigherLayeredPool implementation: |
| 520 virtual bool CloseOneIdleConnection() OVERRIDE; | 520 virtual bool CloseOneIdleConnection() override; |
| 521 | 521 |
| 522 private: | 522 private: |
| 523 friend class base::RefCounted<SpdySession>; | 523 friend class base::RefCounted<SpdySession>; |
| 524 friend class SpdyStreamRequest; | 524 friend class SpdyStreamRequest; |
| 525 friend class SpdySessionTest; | 525 friend class SpdySessionTest; |
| 526 | 526 |
| 527 // Allow tests to access our innards for testing purposes. | 527 // Allow tests to access our innards for testing purposes. |
| 528 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ClientPing); | 528 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, ClientPing); |
| 529 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, FailedPing); | 529 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, FailedPing); |
| 530 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GetActivePushStream); | 530 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GetActivePushStream); |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 806 | 806 |
| 807 // Invokes a user callback for stream creation. We provide this method so it | 807 // Invokes a user callback for stream creation. We provide this method so it |
| 808 // can be deferred to the MessageLoop, so we avoid re-entrancy problems. | 808 // can be deferred to the MessageLoop, so we avoid re-entrancy problems. |
| 809 void CompleteStreamRequest( | 809 void CompleteStreamRequest( |
| 810 const base::WeakPtr<SpdyStreamRequest>& pending_request); | 810 const base::WeakPtr<SpdyStreamRequest>& pending_request); |
| 811 | 811 |
| 812 // Remove old unclaimed pushed streams. | 812 // Remove old unclaimed pushed streams. |
| 813 void DeleteExpiredPushedStreams(); | 813 void DeleteExpiredPushedStreams(); |
| 814 | 814 |
| 815 // BufferedSpdyFramerVisitorInterface: | 815 // BufferedSpdyFramerVisitorInterface: |
| 816 virtual void OnError(SpdyFramer::SpdyError error_code) OVERRIDE; | 816 virtual void OnError(SpdyFramer::SpdyError error_code) override; |
| 817 virtual void OnStreamError(SpdyStreamId stream_id, | 817 virtual void OnStreamError(SpdyStreamId stream_id, |
| 818 const std::string& description) OVERRIDE; | 818 const std::string& description) override; |
| 819 virtual void OnPing(SpdyPingId unique_id, bool is_ack) OVERRIDE; | 819 virtual void OnPing(SpdyPingId unique_id, bool is_ack) override; |
| 820 virtual void OnRstStream(SpdyStreamId stream_id, | 820 virtual void OnRstStream(SpdyStreamId stream_id, |
| 821 SpdyRstStreamStatus status) OVERRIDE; | 821 SpdyRstStreamStatus status) override; |
| 822 virtual void OnGoAway(SpdyStreamId last_accepted_stream_id, | 822 virtual void OnGoAway(SpdyStreamId last_accepted_stream_id, |
| 823 SpdyGoAwayStatus status) OVERRIDE; | 823 SpdyGoAwayStatus status) override; |
| 824 virtual void OnDataFrameHeader(SpdyStreamId stream_id, | 824 virtual void OnDataFrameHeader(SpdyStreamId stream_id, |
| 825 size_t length, | 825 size_t length, |
| 826 bool fin) OVERRIDE; | 826 bool fin) override; |
| 827 virtual void OnStreamFrameData(SpdyStreamId stream_id, | 827 virtual void OnStreamFrameData(SpdyStreamId stream_id, |
| 828 const char* data, | 828 const char* data, |
| 829 size_t len, | 829 size_t len, |
| 830 bool fin) OVERRIDE; | 830 bool fin) override; |
| 831 virtual void OnSettings(bool clear_persisted) OVERRIDE; | 831 virtual void OnSettings(bool clear_persisted) override; |
| 832 virtual void OnSetting( | 832 virtual void OnSetting( |
| 833 SpdySettingsIds id, uint8 flags, uint32 value) OVERRIDE; | 833 SpdySettingsIds id, uint8 flags, uint32 value) override; |
| 834 virtual void OnWindowUpdate(SpdyStreamId stream_id, | 834 virtual void OnWindowUpdate(SpdyStreamId stream_id, |
| 835 uint32 delta_window_size) OVERRIDE; | 835 uint32 delta_window_size) override; |
| 836 virtual void OnPushPromise(SpdyStreamId stream_id, | 836 virtual void OnPushPromise(SpdyStreamId stream_id, |
| 837 SpdyStreamId promised_stream_id, | 837 SpdyStreamId promised_stream_id, |
| 838 const SpdyHeaderBlock& headers) OVERRIDE; | 838 const SpdyHeaderBlock& headers) override; |
| 839 virtual void OnSynStream(SpdyStreamId stream_id, | 839 virtual void OnSynStream(SpdyStreamId stream_id, |
| 840 SpdyStreamId associated_stream_id, | 840 SpdyStreamId associated_stream_id, |
| 841 SpdyPriority priority, | 841 SpdyPriority priority, |
| 842 bool fin, | 842 bool fin, |
| 843 bool unidirectional, | 843 bool unidirectional, |
| 844 const SpdyHeaderBlock& headers) OVERRIDE; | 844 const SpdyHeaderBlock& headers) override; |
| 845 virtual void OnSynReply( | 845 virtual void OnSynReply( |
| 846 SpdyStreamId stream_id, | 846 SpdyStreamId stream_id, |
| 847 bool fin, | 847 bool fin, |
| 848 const SpdyHeaderBlock& headers) OVERRIDE; | 848 const SpdyHeaderBlock& headers) override; |
| 849 virtual void OnHeaders( | 849 virtual void OnHeaders( |
| 850 SpdyStreamId stream_id, | 850 SpdyStreamId stream_id, |
| 851 bool fin, | 851 bool fin, |
| 852 const SpdyHeaderBlock& headers) OVERRIDE; | 852 const SpdyHeaderBlock& headers) override; |
| 853 virtual bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) OVERRIDE; | 853 virtual bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override; |
| 854 | 854 |
| 855 // SpdyFramerDebugVisitorInterface | 855 // SpdyFramerDebugVisitorInterface |
| 856 virtual void OnSendCompressedFrame( | 856 virtual void OnSendCompressedFrame( |
| 857 SpdyStreamId stream_id, | 857 SpdyStreamId stream_id, |
| 858 SpdyFrameType type, | 858 SpdyFrameType type, |
| 859 size_t payload_len, | 859 size_t payload_len, |
| 860 size_t frame_len) OVERRIDE; | 860 size_t frame_len) override; |
| 861 virtual void OnReceiveCompressedFrame( | 861 virtual void OnReceiveCompressedFrame( |
| 862 SpdyStreamId stream_id, | 862 SpdyStreamId stream_id, |
| 863 SpdyFrameType type, | 863 SpdyFrameType type, |
| 864 size_t frame_len) OVERRIDE; | 864 size_t frame_len) override; |
| 865 | 865 |
| 866 // Called when bytes are consumed from a SpdyBuffer for a DATA frame | 866 // Called when bytes are consumed from a SpdyBuffer for a DATA frame |
| 867 // that is to be written or is being written. Increases the send | 867 // that is to be written or is being written. Increases the send |
| 868 // window size accordingly if some or all of the SpdyBuffer is being | 868 // window size accordingly if some or all of the SpdyBuffer is being |
| 869 // discarded. | 869 // discarded. |
| 870 // | 870 // |
| 871 // If session flow control is turned off, this must not be called. | 871 // If session flow control is turned off, this must not be called. |
| 872 void OnWriteBufferConsumed(size_t frame_payload_size, | 872 void OnWriteBufferConsumed(size_t frame_payload_size, |
| 873 size_t consume_size, | 873 size_t consume_size, |
| 874 SpdyBuffer::ConsumeSource consume_source); | 874 SpdyBuffer::ConsumeSource consume_source); |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1173 // Used for posting asynchronous IO tasks. We use this even though | 1173 // Used for posting asynchronous IO tasks. We use this even though |
| 1174 // SpdySession is refcounted because we don't need to keep the SpdySession | 1174 // SpdySession is refcounted because we don't need to keep the SpdySession |
| 1175 // alive if the last reference is within a RunnableMethod. Just revoke the | 1175 // alive if the last reference is within a RunnableMethod. Just revoke the |
| 1176 // method. | 1176 // method. |
| 1177 base::WeakPtrFactory<SpdySession> weak_factory_; | 1177 base::WeakPtrFactory<SpdySession> weak_factory_; |
| 1178 }; | 1178 }; |
| 1179 | 1179 |
| 1180 } // namespace net | 1180 } // namespace net |
| 1181 | 1181 |
| 1182 #endif // NET_SPDY_SPDY_SESSION_H_ | 1182 #endif // NET_SPDY_SPDY_SESSION_H_ |
| OLD | NEW |