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

Side by Side Diff: net/quic/quic_data_stream.cc

Issue 112463003: Add convenience HighestPriority and LowestPriority methods to QuicUtils. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_crypto_stream.cc ('k') | net/quic/quic_data_stream_test.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 #include "net/quic/quic_data_stream.h" 5 #include "net/quic/quic_data_stream.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/quic/quic_session.h" 8 #include "net/quic/quic_session.h"
9 #include "net/quic/quic_spdy_decompressor.h" 9 #include "net/quic/quic_spdy_decompressor.h"
10 #include "net/spdy/write_blocked_list.h" 10 #include "net/spdy/write_blocked_list.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 301
302 if (!priority_parsed_ && session()->connection()->is_server()) { 302 if (!priority_parsed_ && session()->connection()->is_server()) {
303 QuicPriority temporary_priority = priority_; 303 QuicPriority temporary_priority = priority_;
304 total_bytes_parsed = StripUint32( 304 total_bytes_parsed = StripUint32(
305 data, data_len, &headers_id_and_priority_buffer_, &temporary_priority); 305 data, data_len, &headers_id_and_priority_buffer_, &temporary_priority);
306 if (total_bytes_parsed > 0 && headers_id_and_priority_buffer_.size() == 0) { 306 if (total_bytes_parsed > 0 && headers_id_and_priority_buffer_.size() == 0) {
307 priority_parsed_ = true; 307 priority_parsed_ = true;
308 308
309 // Spdy priorities are inverted, so the highest numerical value is the 309 // Spdy priorities are inverted, so the highest numerical value is the
310 // lowest legal priority. 310 // lowest legal priority.
311 if (temporary_priority > static_cast<QuicPriority>(kLowestPriority)) { 311 if (temporary_priority > QuicUtils::LowestPriority()) {
312 session()->connection()->SendConnectionClose(QUIC_INVALID_PRIORITY); 312 session()->connection()->SendConnectionClose(QUIC_INVALID_PRIORITY);
313 return 0; 313 return 0;
314 } 314 }
315 priority_ = temporary_priority; 315 priority_ = temporary_priority;
316 } 316 }
317 data += total_bytes_parsed; 317 data += total_bytes_parsed;
318 data_len -= total_bytes_parsed; 318 data_len -= total_bytes_parsed;
319 } 319 }
320 if (data_len > 0 && headers_id_ == 0u) { 320 if (data_len > 0 && headers_id_ == 0u) {
321 // The headers ID has not yet been read. Strip it from the beginning of 321 // The headers ID has not yet been read. Strip it from the beginning of
322 // the data stream. 322 // the data stream.
323 total_bytes_parsed += StripUint32( 323 total_bytes_parsed += StripUint32(
324 data, data_len, &headers_id_and_priority_buffer_, &headers_id_); 324 data, data_len, &headers_id_and_priority_buffer_, &headers_id_);
325 } 325 }
326 return total_bytes_parsed; 326 return total_bytes_parsed;
327 } 327 }
328 328
329 bool QuicDataStream::FinishedReadingHeaders() { 329 bool QuicDataStream::FinishedReadingHeaders() {
330 return headers_decompressed_ && decompressed_headers_.empty(); 330 return headers_decompressed_ && decompressed_headers_.empty();
331 } 331 }
332 332
333 } // namespace net 333 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_crypto_stream.cc ('k') | net/quic/quic_data_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698