// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "tools/android/common/net.h"
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <sys/socket.h>
#include <sys/types.h>
#include "base/strings/stringprintf.h"
namespace tools {
int DisableNagle(int socket) {
int on = 1;
return setsockopt(socket, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on));
}
int DeferAccept(int socket) {
int on = 1;
return setsockopt(socket, IPPROTO_TCP, TCP_DEFER_ACCEPT, &on, sizeof(on));
}
std::string DumpBinary(const char* buffer, size_t length) {
std::string result = "[";
for (size_t i = 0; i < length; ++i) {
base::StringAppendF(&result, "%02x,",
static_cast<unsigned char>(buffer[i]));
}
if (length)
result.erase(result.length() - 1);
return result + "]";
}
} // namespace tools