Home | History | Annotate | Download | only in common
      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 "tools/android/common/net.h"
      6 
      7 #include <netinet/in.h>
      8 #include <netinet/tcp.h>
      9 #include <sys/socket.h>
     10 #include <sys/types.h>
     11 
     12 #include "base/strings/stringprintf.h"
     13 
     14 namespace tools {
     15 
     16 int DisableNagle(int socket) {
     17   int on = 1;
     18   return setsockopt(socket, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on));
     19 }
     20 
     21 int DeferAccept(int socket) {
     22   int on = 1;
     23   return setsockopt(socket, IPPROTO_TCP, TCP_DEFER_ACCEPT, &on, sizeof(on));
     24 }
     25 
     26 std::string DumpBinary(const char* buffer, size_t length) {
     27   std::string result = "[";
     28   for (int i = 0; i < length; ++i) {
     29     base::StringAppendF(&result, "%02x,",
     30                         static_cast<unsigned char>(buffer[i]));
     31   }
     32 
     33   if (length)
     34     result.erase(result.length() - 1);
     35 
     36   return result + "]";
     37 }
     38 
     39 }  // namespace tools
     40 
     41