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 |