- add sources.
[platform/framework/web/crosswalk.git] / src / tools / android / common / net.cc
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