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

Side by Side Diff: net/spdy/spdy_protocol.cc

Issue 2675593002: Spdy{RstStream,GoAway}Status -> SpdyErrorCode. (Closed)
Patch Set: Unsigned vs signed int Created 3 years, 10 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
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 #include "net/spdy/spdy_protocol.h" 5 #include "net/spdy/spdy_protocol.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "net/spdy/spdy_bug_tracker.h" 8 #include "net/spdy/spdy_bug_tracker.h"
9 9
10 namespace net { 10 namespace net {
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 return true; 121 return true;
122 case SETTINGS_MAX_HEADER_LIST_SIZE: 122 case SETTINGS_MAX_HEADER_LIST_SIZE:
123 *settings_id_string = "SETTINGS_MAX_HEADER_LIST_SIZE"; 123 *settings_id_string = "SETTINGS_MAX_HEADER_LIST_SIZE";
124 return true; 124 return true;
125 } 125 }
126 126
127 *settings_id_string = "SETTINGS_UNKNOWN"; 127 *settings_id_string = "SETTINGS_UNKNOWN";
128 return false; 128 return false;
129 } 129 }
130 130
131 SpdyRstStreamStatus ParseRstStreamStatus(int rst_stream_status_field) { 131 SpdyErrorCode ParseErrorCode(uint32_t wire_error_code) {
132 if (rst_stream_status_field < RST_STREAM_MIN || 132 if (wire_error_code > ERROR_CODE_MAX) {
133 rst_stream_status_field > RST_STREAM_MAX) { 133 return ERROR_CODE_INTERNAL_ERROR;
134 return RST_STREAM_INTERNAL_ERROR;
135 } 134 }
136 135
137 return static_cast<SpdyRstStreamStatus>(rst_stream_status_field); 136 return static_cast<SpdyErrorCode>(wire_error_code);
138 } 137 }
139 138
140 SpdyGoAwayStatus ParseGoAwayStatus(int goaway_status_field) { 139 const char* ErrorCodeToString(SpdyErrorCode error_code) {
Bence 2017/02/02 15:12:25 This method in only introduced in server change 14
diannahu 2017/02/02 15:58:09 Got it, will merge after 145087791 is merged. (I a
Bence 2017/02/02 16:12:00 It's really up to you. You can include 145536832
141 if (goaway_status_field < GOAWAY_MIN || goaway_status_field > GOAWAY_MAX) { 140 switch (error_code) {
142 return GOAWAY_INTERNAL_ERROR; 141 case ERROR_CODE_NO_ERROR:
142 return "NO_ERROR";
143 case ERROR_CODE_PROTOCOL_ERROR:
144 return "PROTOCOL_ERROR";
145 case ERROR_CODE_INTERNAL_ERROR:
146 return "INTERNAL_ERROR";
147 case ERROR_CODE_FLOW_CONTROL_ERROR:
148 return "FLOW_CONTROL_ERROR";
149 case ERROR_CODE_SETTINGS_TIMEOUT:
150 return "SETTINGS_TIMEOUT";
151 case ERROR_CODE_STREAM_CLOSED:
152 return "STREAM_CLOSED";
153 case ERROR_CODE_FRAME_SIZE_ERROR:
154 return "FRAME_SIZE_ERROR";
155 case ERROR_CODE_REFUSED_STREAM:
156 return "REFUSED_STREAM";
157 case ERROR_CODE_CANCEL:
158 return "CANCEL";
159 case ERROR_CODE_COMPRESSION_ERROR:
160 return "COMPRESSION_ERROR";
161 case ERROR_CODE_CONNECT_ERROR:
162 return "CONNECT_ERROR";
163 case ERROR_CODE_ENHANCE_YOUR_CALM:
164 return "ENHANCE_YOUR_CALM";
165 case ERROR_CODE_INADEQUATE_SECURITY:
166 return "INADEQUATE_SECURITY";
167 case ERROR_CODE_HTTP_1_1_REQUIRED:
168 return "HTTP_1_1_REQUIRED";
143 } 169 }
144 170 return "UNKNOWN_ERROR_CODE";
145 return static_cast<SpdyGoAwayStatus>(goaway_status_field);
146 } 171 }
147 172
148 const char* const kHttp2Npn = "h2"; 173 const char* const kHttp2Npn = "h2";
149 174
150 SpdyFrameWithHeaderBlockIR::SpdyFrameWithHeaderBlockIR( 175 SpdyFrameWithHeaderBlockIR::SpdyFrameWithHeaderBlockIR(
151 SpdyStreamId stream_id, 176 SpdyStreamId stream_id,
152 SpdyHeaderBlock header_block) 177 SpdyHeaderBlock header_block)
153 : SpdyFrameWithFinIR(stream_id), header_block_(std::move(header_block)) {} 178 : SpdyFrameWithFinIR(stream_id), header_block_(std::move(header_block)) {}
154 179
155 SpdyFrameWithHeaderBlockIR::~SpdyFrameWithHeaderBlockIR() {} 180 SpdyFrameWithHeaderBlockIR::~SpdyFrameWithHeaderBlockIR() {}
(...skipping 25 matching lines...) Expand all
181 padded_(false), 206 padded_(false),
182 padding_payload_len_(0) {} 207 padding_payload_len_(0) {}
183 208
184 SpdyDataIR::~SpdyDataIR() {} 209 SpdyDataIR::~SpdyDataIR() {}
185 210
186 void SpdyDataIR::Visit(SpdyFrameVisitor* visitor) const { 211 void SpdyDataIR::Visit(SpdyFrameVisitor* visitor) const {
187 return visitor->VisitData(*this); 212 return visitor->VisitData(*this);
188 } 213 }
189 214
190 SpdyRstStreamIR::SpdyRstStreamIR(SpdyStreamId stream_id, 215 SpdyRstStreamIR::SpdyRstStreamIR(SpdyStreamId stream_id,
191 SpdyRstStreamStatus status) 216 SpdyErrorCode error_code)
192 : SpdyFrameWithStreamIdIR(stream_id) { 217 : SpdyFrameWithStreamIdIR(stream_id) {
193 set_status(status); 218 set_error_code(error_code);
194 } 219 }
195 220
196 SpdyRstStreamIR::~SpdyRstStreamIR() {} 221 SpdyRstStreamIR::~SpdyRstStreamIR() {}
197 222
198 void SpdyRstStreamIR::Visit(SpdyFrameVisitor* visitor) const { 223 void SpdyRstStreamIR::Visit(SpdyFrameVisitor* visitor) const {
199 return visitor->VisitRstStream(*this); 224 return visitor->VisitRstStream(*this);
200 } 225 }
201 226
202 SpdySettingsIR::SpdySettingsIR() : is_ack_(false) {} 227 SpdySettingsIR::SpdySettingsIR() : is_ack_(false) {}
203 228
204 SpdySettingsIR::~SpdySettingsIR() {} 229 SpdySettingsIR::~SpdySettingsIR() {}
205 230
206 void SpdySettingsIR::Visit(SpdyFrameVisitor* visitor) const { 231 void SpdySettingsIR::Visit(SpdyFrameVisitor* visitor) const {
207 return visitor->VisitSettings(*this); 232 return visitor->VisitSettings(*this);
208 } 233 }
209 234
210 void SpdyPingIR::Visit(SpdyFrameVisitor* visitor) const { 235 void SpdyPingIR::Visit(SpdyFrameVisitor* visitor) const {
211 return visitor->VisitPing(*this); 236 return visitor->VisitPing(*this);
212 } 237 }
213 238
214 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id, 239 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id,
215 SpdyGoAwayStatus status, 240 SpdyErrorCode error_code,
216 base::StringPiece description) 241 base::StringPiece description)
217 : description_(description) { 242 : description_(description) {
218 set_last_good_stream_id(last_good_stream_id); 243 set_last_good_stream_id(last_good_stream_id);
219 set_status(status); 244 set_error_code(error_code);
220 } 245 }
221 246
222 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id, 247 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id,
223 SpdyGoAwayStatus status, 248 SpdyErrorCode error_code,
224 const char* description) 249 const char* description)
225 : SpdyGoAwayIR(last_good_stream_id, 250 : SpdyGoAwayIR(last_good_stream_id,
226 status, 251 error_code,
227 base::StringPiece(description)) {} 252 base::StringPiece(description)) {}
228 253
229 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id, 254 SpdyGoAwayIR::SpdyGoAwayIR(SpdyStreamId last_good_stream_id,
230 SpdyGoAwayStatus status, 255 SpdyErrorCode error_code,
231 std::string description) 256 std::string description)
232 : description_store_(std::move(description)), 257 : description_store_(std::move(description)),
233 description_(description_store_) { 258 description_(description_store_) {
234 set_last_good_stream_id(last_good_stream_id); 259 set_last_good_stream_id(last_good_stream_id);
235 set_status(status); 260 set_error_code(error_code);
236 } 261 }
237 262
238 SpdyGoAwayIR::~SpdyGoAwayIR() {} 263 SpdyGoAwayIR::~SpdyGoAwayIR() {}
239 264
240 SpdyContinuationIR::SpdyContinuationIR(SpdyStreamId stream_id) 265 SpdyContinuationIR::SpdyContinuationIR(SpdyStreamId stream_id)
241 : SpdyFrameWithStreamIdIR(stream_id), end_headers_(false) { 266 : SpdyFrameWithStreamIdIR(stream_id), end_headers_(false) {
242 encoding_ = base::MakeUnique<std::string>(); 267 encoding_ = base::MakeUnique<std::string>();
243 } 268 }
244 269
245 SpdyContinuationIR::~SpdyContinuationIR() {} 270 SpdyContinuationIR::~SpdyContinuationIR() {}
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 302
278 void SpdyAltSvcIR::Visit(SpdyFrameVisitor* visitor) const { 303 void SpdyAltSvcIR::Visit(SpdyFrameVisitor* visitor) const {
279 return visitor->VisitAltSvc(*this); 304 return visitor->VisitAltSvc(*this);
280 } 305 }
281 306
282 void SpdyPriorityIR::Visit(SpdyFrameVisitor* visitor) const { 307 void SpdyPriorityIR::Visit(SpdyFrameVisitor* visitor) const {
283 return visitor->VisitPriority(*this); 308 return visitor->VisitPriority(*this);
284 } 309 }
285 310
286 } // namespace net 311 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698