OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_http_utils.h" | 5 #include "net/quic/quic_http_utils.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 namespace net { | 9 namespace net { |
10 | 10 |
11 SpdyPriority ConvertRequestPriorityToQuicPriority( | 11 SpdyPriority ConvertRequestPriorityToQuicPriority( |
12 const RequestPriority priority) { | 12 const RequestPriority priority) { |
13 DCHECK_GE(priority, MINIMUM_PRIORITY); | 13 DCHECK_GE(priority, MINIMUM_PRIORITY); |
14 DCHECK_LE(priority, MAXIMUM_PRIORITY); | 14 DCHECK_LE(priority, MAXIMUM_PRIORITY); |
15 return static_cast<SpdyPriority>(HIGHEST - priority); | 15 return static_cast<SpdyPriority>(MAXIMUM_PRIORITY - priority + |
| 16 kV3HighestPriority); |
16 } | 17 } |
17 | 18 |
18 NET_EXPORT_PRIVATE RequestPriority | 19 NET_EXPORT_PRIVATE RequestPriority |
19 ConvertQuicPriorityToRequestPriority(SpdyPriority priority) { | 20 ConvertQuicPriorityToRequestPriority(SpdyPriority priority) { |
20 // Handle invalid values gracefully. | 21 // Handle invalid values gracefully. |
21 return (priority >= 5) ? IDLE | 22 return ((priority - kV3HighestPriority) > |
22 : static_cast<RequestPriority>(HIGHEST - priority); | 23 (MAXIMUM_PRIORITY - MINIMUM_PRIORITY) |
| 24 ? IDLE |
| 25 : static_cast<RequestPriority>(MAXIMUM_PRIORITY - |
| 26 (priority - kV3HighestPriority))); |
23 } | 27 } |
24 | 28 |
25 std::unique_ptr<base::Value> QuicRequestNetLogCallback( | 29 std::unique_ptr<base::Value> QuicRequestNetLogCallback( |
26 QuicStreamId stream_id, | 30 QuicStreamId stream_id, |
27 const SpdyHeaderBlock* headers, | 31 const SpdyHeaderBlock* headers, |
28 SpdyPriority priority, | 32 SpdyPriority priority, |
29 NetLogCaptureMode capture_mode) { | 33 NetLogCaptureMode capture_mode) { |
30 std::unique_ptr<base::DictionaryValue> dict( | 34 std::unique_ptr<base::DictionaryValue> dict( |
31 static_cast<base::DictionaryValue*>( | 35 static_cast<base::DictionaryValue*>( |
32 SpdyHeaderBlockNetLogCallback(headers, capture_mode).release())); | 36 SpdyHeaderBlockNetLogCallback(headers, capture_mode).release())); |
33 dict->SetInteger("quic_priority", static_cast<int>(priority)); | 37 dict->SetInteger("quic_priority", static_cast<int>(priority)); |
34 dict->SetInteger("quic_stream_id", static_cast<int>(stream_id)); | 38 dict->SetInteger("quic_stream_id", static_cast<int>(stream_id)); |
35 return std::move(dict); | 39 return std::move(dict); |
36 } | 40 } |
37 | 41 |
38 } // namespace net | 42 } // namespace net |
OLD | NEW |