| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // 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 |
| |