Home | History | Annotate | Download | only in udp
      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