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 3 // found in the LICENSE file. 4 5 #include "net/udp/udp_net_log_parameters.h" 6 7 #include "base/bind.h" 8 #include "base/strings/string_number_conversions.h" 9 #include "base/values.h" 10 #include "net/base/ip_endpoint.h" 11 12 namespace net { 13 14 namespace { 15 16 base::Value* NetLogUDPDataTranferCallback(int byte_count, 17 const char* bytes, 18 const IPEndPoint* address, 19 NetLog::LogLevel log_level) { 20 base::DictionaryValue* dict = new base::DictionaryValue(); 21 dict->SetInteger("byte_count", byte_count); 22 if (NetLog::IsLoggingBytes(log_level)) 23 dict->SetString("hex_encoded_bytes", base::HexEncode(bytes, byte_count)); 24 if (address) 25 dict->SetString("address", address->ToString()); 26 return dict; 27 } 28 29 base::Value* NetLogUDPConnectCallback(const IPEndPoint* address, 30 NetLog::LogLevel /* log_level */) { 31 base::DictionaryValue* dict = new base::DictionaryValue(); 32 dict->SetString("address", address->ToString()); 33 return dict; 34 } 35 36 } // namespace 37 38 NetLog::ParametersCallback CreateNetLogUDPDataTranferCallback( 39 int byte_count, 40 const char* bytes, 41 const IPEndPoint* address) { 42 DCHECK(bytes); 43 return base::Bind(&NetLogUDPDataTranferCallback, byte_count, bytes, address); 44 } 45 46 NetLog::ParametersCallback CreateNetLogUDPConnectCallback( 47 const IPEndPoint* address) { 48 DCHECK(address); 49 return base::Bind(&NetLogUDPConnectCallback, address); 50 } 51 52 } // namespace net 53