Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Side by Side Diff: net/spdy/spdy_session.h

Issue 1961573002: Avoids the "re-encode HPACK as SPDY3" step. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update new test Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_network_transaction_unittest.cc ('k') | net/spdy/spdy_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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_
OLDNEW
« no previous file with comments | « net/spdy/spdy_network_transaction_unittest.cc ('k') | net/spdy/spdy_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698