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 14namespace tools { 15 16int DisableNagle(int socket) { 17 int on = 1; 18 return setsockopt(socket, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)); 19} 20 21int DeferAccept(int socket) { 22 int on = 1; 23 return setsockopt(socket, IPPROTO_TCP, TCP_DEFER_ACCEPT, &on, sizeof(on)); 24} 25 26std::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