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 3 // found in the LICENSE file. 4 5 #include "net/quic/quic_http_utils.h" 6 7 namespace net { 8 9 QuicPriority ConvertRequestPriorityToQuicPriority( 10 const RequestPriority priority) { 11 DCHECK_GE(priority, MINIMUM_PRIORITY); 12 DCHECK_LE(priority, MAXIMUM_PRIORITY); 13 return static_cast<QuicPriority>(HIGHEST - priority); 14 } 15 16 NET_EXPORT_PRIVATE RequestPriority ConvertQuicPriorityToRequestPriority( 17 QuicPriority priority) { 18 // Handle invalid values gracefully. 19 return (priority >= 5) ? 20 IDLE : static_cast<RequestPriority>(HIGHEST - priority); 21 } 22 23 base::Value* QuicRequestNetLogCallback( 24 QuicStreamId stream_id, 25 const SpdyHeaderBlock* headers, 26 QuicPriority priority, 27 NetLog::LogLevel log_level) { 28 base::DictionaryValue* dict = static_cast<base::DictionaryValue*>( 29 SpdyHeaderBlockNetLogCallback(headers, log_level)); 30 dict->SetInteger("quic_priority", static_cast<int>(priority)); 31 dict->SetInteger("quic_stream_id", static_cast<int>(stream_id)); 32 return dict; 33 } 34 35 } // namespace net 36