Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / net / tools / flip_server / flip_config.h
blob124a5b3158cd17bf4f52a5c498cb3a005213a54c
1 // Copyright (c) 2011 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.
5 #ifndef NET_TOOLS_FLIP_SERVER_FLIP_CONFIG_H_
6 #define NET_TOOLS_FLIP_SERVER_FLIP_CONFIG_H_
8 #include <arpa/inet.h>
10 #include <string>
11 #include <vector>
13 #include "base/logging.h"
15 namespace net {
17 enum FlipHandlerType {
18 FLIP_HANDLER_PROXY,
19 FLIP_HANDLER_SPDY_SERVER,
20 FLIP_HANDLER_HTTP_SERVER
23 class FlipAcceptor {
24 public:
25 FlipAcceptor(enum FlipHandlerType flip_handler_type,
26 std::string listen_ip,
27 std::string listen_port,
28 std::string ssl_cert_filename,
29 std::string ssl_key_filename,
30 std::string http_server_ip,
31 std::string http_server_port,
32 std::string https_server_ip,
33 std::string https_server_port,
34 int spdy_only,
35 int accept_backlog_size,
36 bool disable_nagle,
37 int accepts_per_wake,
38 bool reuseport,
39 bool wait_for_iface,
40 void* memory_cache);
41 ~FlipAcceptor();
43 enum FlipHandlerType flip_handler_type_;
44 std::string listen_ip_;
45 std::string listen_port_;
46 std::string ssl_cert_filename_;
47 std::string ssl_key_filename_;
48 std::string http_server_ip_;
49 std::string http_server_port_;
50 std::string https_server_ip_;
51 std::string https_server_port_;
52 int spdy_only_;
53 int accept_backlog_size_;
54 bool disable_nagle_;
55 int accepts_per_wake_;
56 int listen_fd_;
57 void* memory_cache_;
58 int ssl_session_expiry_;
59 bool ssl_disable_compression_;
60 int idle_socket_timeout_s_;
63 class FlipConfig {
64 public:
65 FlipConfig();
66 ~FlipConfig();
68 void AddAcceptor(enum FlipHandlerType flip_handler_type,
69 std::string listen_ip,
70 std::string listen_port,
71 std::string ssl_cert_filename,
72 std::string ssl_key_filename,
73 std::string http_server_ip,
74 std::string http_server_port,
75 std::string https_server_ip,
76 std::string https_server_port,
77 int spdy_only,
78 int accept_backlog_size,
79 bool disable_nagle,
80 int accepts_per_wake,
81 bool reuseport,
82 bool wait_for_iface,
83 void* memory_cache);
85 std::vector<FlipAcceptor*> acceptors_;
86 double server_think_time_in_s_;
87 enum logging::LoggingDestination log_destination_;
88 std::string log_filename_;
89 bool wait_for_iface_;
90 int ssl_session_expiry_;
91 bool ssl_disable_compression_;
92 int idle_socket_timeout_s_;
95 } // namespace net
97 #endif // NET_TOOLS_FLIP_SERVER_FLIP_CONFIG_H_