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