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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 SPDY_ERROR_ZLIB_INIT_FAILURE = 3, | 92 SPDY_ERROR_ZLIB_INIT_FAILURE = 3, |
93 SPDY_ERROR_UNSUPPORTED_VERSION = 4, | 93 SPDY_ERROR_UNSUPPORTED_VERSION = 4, |
94 SPDY_ERROR_DECOMPRESS_FAILURE = 5, | 94 SPDY_ERROR_DECOMPRESS_FAILURE = 5, |
95 SPDY_ERROR_COMPRESS_FAILURE = 6, | 95 SPDY_ERROR_COMPRESS_FAILURE = 6, |
96 SPDY_ERROR_GOAWAY_FRAME_CORRUPT = 29, | 96 SPDY_ERROR_GOAWAY_FRAME_CORRUPT = 29, |
97 SPDY_ERROR_RST_STREAM_FRAME_CORRUPT = 30, | 97 SPDY_ERROR_RST_STREAM_FRAME_CORRUPT = 30, |
98 SPDY_ERROR_INVALID_PADDING = 39, | 98 SPDY_ERROR_INVALID_PADDING = 39, |
99 SPDY_ERROR_INVALID_DATA_FRAME_FLAGS = 8, | 99 SPDY_ERROR_INVALID_DATA_FRAME_FLAGS = 8, |
100 SPDY_ERROR_INVALID_CONTROL_FRAME_FLAGS = 9, | 100 SPDY_ERROR_INVALID_CONTROL_FRAME_FLAGS = 9, |
101 SPDY_ERROR_UNEXPECTED_FRAME = 31, | 101 SPDY_ERROR_UNEXPECTED_FRAME = 31, |
102 SPDY_ERROR_INTERNAL_FRAMER_ERROR = 41, | |
103 SPDY_ERROR_INVALID_CONTROL_FRAME_SIZE = 37, | 102 SPDY_ERROR_INVALID_CONTROL_FRAME_SIZE = 37, |
104 SPDY_ERROR_INVALID_STREAM_ID = 38, | 103 SPDY_ERROR_INVALID_STREAM_ID = 38, |
105 // SpdyRstStreamStatus mappings. | 104 // SpdyRstStreamStatus mappings. |
106 // RST_STREAM_INVALID not mapped. | 105 // RST_STREAM_INVALID not mapped. |
107 STATUS_CODE_PROTOCOL_ERROR = 11, | 106 STATUS_CODE_PROTOCOL_ERROR = 11, |
108 STATUS_CODE_INVALID_STREAM = 12, | 107 STATUS_CODE_INVALID_STREAM = 12, |
109 STATUS_CODE_REFUSED_STREAM = 13, | 108 STATUS_CODE_REFUSED_STREAM = 13, |
110 STATUS_CODE_UNSUPPORTED_VERSION = 14, | 109 STATUS_CODE_UNSUPPORTED_VERSION = 14, |
111 STATUS_CODE_CANCEL = 15, | 110 STATUS_CODE_CANCEL = 15, |
112 STATUS_CODE_INTERNAL_ERROR = 16, | 111 STATUS_CODE_INTERNAL_ERROR = 16, |
(...skipping 21 matching lines...) Expand all Loading... |
134 }; | 133 }; |
135 SpdyProtocolErrorDetails NET_EXPORT_PRIVATE | 134 SpdyProtocolErrorDetails NET_EXPORT_PRIVATE |
136 MapFramerErrorToProtocolError(SpdyFramer::SpdyError error); | 135 MapFramerErrorToProtocolError(SpdyFramer::SpdyError error); |
137 Error NET_EXPORT_PRIVATE MapFramerErrorToNetError(SpdyFramer::SpdyError error); | 136 Error NET_EXPORT_PRIVATE MapFramerErrorToNetError(SpdyFramer::SpdyError error); |
138 SpdyProtocolErrorDetails NET_EXPORT_PRIVATE | 137 SpdyProtocolErrorDetails NET_EXPORT_PRIVATE |
139 MapRstStreamStatusToProtocolError(SpdyRstStreamStatus status); | 138 MapRstStreamStatusToProtocolError(SpdyRstStreamStatus status); |
140 SpdyGoAwayStatus NET_EXPORT_PRIVATE MapNetErrorToGoAwayStatus(Error err); | 139 SpdyGoAwayStatus NET_EXPORT_PRIVATE MapNetErrorToGoAwayStatus(Error err); |
141 | 140 |
142 // If these compile asserts fail then SpdyProtocolErrorDetails needs | 141 // If these compile asserts fail then SpdyProtocolErrorDetails needs |
143 // to be updated with new values, as do the mapping functions above. | 142 // to be updated with new values, as do the mapping functions above. |
144 static_assert(16 == SpdyFramer::LAST_ERROR, | 143 static_assert(15 == SpdyFramer::LAST_ERROR, |
145 "SpdyProtocolErrorDetails / Spdy Errors mismatch"); | 144 "SpdyProtocolErrorDetails / Spdy Errors mismatch"); |
146 static_assert(17 == RST_STREAM_NUM_STATUS_CODES, | 145 static_assert(17 == RST_STREAM_NUM_STATUS_CODES, |
147 "SpdyProtocolErrorDetails / RstStreamStatus mismatch"); | 146 "SpdyProtocolErrorDetails / RstStreamStatus mismatch"); |
148 | 147 |
149 // Splits pushed |headers| into request and response parts. Request headers are | 148 // Splits pushed |headers| into request and response parts. Request headers are |
150 // the headers specifying resource URL. | 149 // the headers specifying resource URL. |
151 void NET_EXPORT_PRIVATE | 150 void NET_EXPORT_PRIVATE |
152 SplitPushedHeadersToRequestAndResponse(const SpdyHeaderBlock& headers, | 151 SplitPushedHeadersToRequestAndResponse(const SpdyHeaderBlock& headers, |
153 SpdyMajorVersion protocol_version, | 152 SpdyMajorVersion protocol_version, |
154 SpdyHeaderBlock* request_headers, | 153 SpdyHeaderBlock* request_headers, |
(...skipping 724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
879 SpdyGoAwayStatus status, | 878 SpdyGoAwayStatus status, |
880 base::StringPiece debug_data) override; | 879 base::StringPiece debug_data) override; |
881 void OnDataFrameHeader(SpdyStreamId stream_id, | 880 void OnDataFrameHeader(SpdyStreamId stream_id, |
882 size_t length, | 881 size_t length, |
883 bool fin) override; | 882 bool fin) override; |
884 void OnStreamFrameData(SpdyStreamId stream_id, | 883 void OnStreamFrameData(SpdyStreamId stream_id, |
885 const char* data, | 884 const char* data, |
886 size_t len) override; | 885 size_t len) override; |
887 void OnStreamEnd(SpdyStreamId stream_id) override; | 886 void OnStreamEnd(SpdyStreamId stream_id) override; |
888 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; | 887 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; |
| 888 SpdyHeadersHandlerInterface* OnHeaderFrameStart( |
| 889 SpdyStreamId stream_id) override; |
| 890 void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) override; |
889 void OnSettings(bool clear_persisted) override; | 891 void OnSettings(bool clear_persisted) override; |
890 void OnSetting(SpdySettingsIds id, uint8_t flags, uint32_t value) override; | 892 void OnSetting(SpdySettingsIds id, uint8_t flags, uint32_t value) override; |
891 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; | 893 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; |
892 void OnPushPromise(SpdyStreamId stream_id, | 894 void OnPushPromise(SpdyStreamId stream_id, |
893 SpdyStreamId promised_stream_id, | 895 SpdyStreamId promised_stream_id, |
894 const SpdyHeaderBlock& headers) override; | 896 const SpdyHeaderBlock& headers) override; |
895 void OnSynStream(SpdyStreamId stream_id, | 897 void OnSynStream(SpdyStreamId stream_id, |
896 SpdyStreamId associated_stream_id, | 898 SpdyStreamId associated_stream_id, |
897 SpdyPriority priority, | 899 SpdyPriority priority, |
898 bool fin, | 900 bool fin, |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1231 // Used for posting asynchronous IO tasks. We use this even though | 1233 // Used for posting asynchronous IO tasks. We use this even though |
1232 // SpdySession is refcounted because we don't need to keep the SpdySession | 1234 // SpdySession is refcounted because we don't need to keep the SpdySession |
1233 // alive if the last reference is within a RunnableMethod. Just revoke the | 1235 // alive if the last reference is within a RunnableMethod. Just revoke the |
1234 // method. | 1236 // method. |
1235 base::WeakPtrFactory<SpdySession> weak_factory_; | 1237 base::WeakPtrFactory<SpdySession> weak_factory_; |
1236 }; | 1238 }; |
1237 | 1239 |
1238 } // namespace net | 1240 } // namespace net |
1239 | 1241 |
1240 #endif // NET_SPDY_SPDY_SESSION_H_ | 1242 #endif // NET_SPDY_SPDY_SESSION_H_ |
OLD | NEW |