| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "net/tools/flip_server/flip_config.h" | 5 #include "net/tools/flip_server/flip_config.h" | 
| 6 | 6 | 
| 7 #include <unistd.h> | 7 #include <unistd.h> | 
| 8 | 8 | 
| 9 namespace net { | 9 namespace net { | 
| 10 | 10 | 
| 11 FlipAcceptor::FlipAcceptor(enum FlipHandlerType flip_handler_type, | 11 FlipAcceptor::FlipAcceptor(enum FlipHandlerType flip_handler_type, | 
| 12                            std::string listen_ip, | 12                            std::string listen_ip, | 
| 13                            std::string listen_port, | 13                            std::string listen_port, | 
| 14                            std::string ssl_cert_filename, | 14                            std::string ssl_cert_filename, | 
| 15                            std::string ssl_key_filename, | 15                            std::string ssl_key_filename, | 
| 16                            std::string http_server_ip, | 16                            std::string http_server_ip, | 
| 17                            std::string http_server_port, | 17                            std::string http_server_port, | 
| 18                            std::string https_server_ip, | 18                            std::string https_server_ip, | 
| 19                            std::string https_server_port, | 19                            std::string https_server_port, | 
| 20                            int spdy_only, | 20                            int spdy_only, | 
| 21                            int accept_backlog_size, | 21                            int accept_backlog_size, | 
| 22                            bool disable_nagle, | 22                            bool disable_nagle, | 
| 23                            int accepts_per_wake, | 23                            int accepts_per_wake, | 
| 24                            bool reuseport, | 24                            bool reuseport, | 
| 25                            bool wait_for_iface, | 25                            bool wait_for_iface, | 
| 26                            void *memory_cache) | 26                            void* memory_cache) | 
| 27     : flip_handler_type_(flip_handler_type), | 27     : flip_handler_type_(flip_handler_type), | 
| 28       listen_ip_(listen_ip), | 28       listen_ip_(listen_ip), | 
| 29       listen_port_(listen_port), | 29       listen_port_(listen_port), | 
| 30       ssl_cert_filename_(ssl_cert_filename), | 30       ssl_cert_filename_(ssl_cert_filename), | 
| 31       ssl_key_filename_(ssl_key_filename), | 31       ssl_key_filename_(ssl_key_filename), | 
| 32       http_server_ip_(http_server_ip), | 32       http_server_ip_(http_server_ip), | 
| 33       http_server_port_(http_server_port), | 33       http_server_port_(http_server_port), | 
| 34       https_server_ip_(https_server_ip), | 34       https_server_ip_(https_server_ip), | 
| 35       https_server_port_(https_server_port), | 35       https_server_port_(https_server_port), | 
| 36       spdy_only_(spdy_only), | 36       spdy_only_(spdy_only), | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 51   while (1) { | 51   while (1) { | 
| 52     int ret = CreateListeningSocket(listen_ip_, | 52     int ret = CreateListeningSocket(listen_ip_, | 
| 53                                     listen_port_, | 53                                     listen_port_, | 
| 54                                     true, | 54                                     true, | 
| 55                                     accept_backlog_size_, | 55                                     accept_backlog_size_, | 
| 56                                     true, | 56                                     true, | 
| 57                                     reuseport, | 57                                     reuseport, | 
| 58                                     wait_for_iface, | 58                                     wait_for_iface, | 
| 59                                     disable_nagle_, | 59                                     disable_nagle_, | 
| 60                                     &listen_fd_); | 60                                     &listen_fd_); | 
| 61     if ( ret == 0 ) { | 61     if (ret == 0) { | 
| 62       break; | 62       break; | 
| 63     } else if ( ret == -3 && wait_for_iface ) { | 63     } else if (ret == -3 && wait_for_iface) { | 
| 64       // Binding error EADDRNOTAVAIL was encounted. We need | 64       // Binding error EADDRNOTAVAIL was encounted. We need | 
| 65       // to wait for the interfaces to raised. try again. | 65       // to wait for the interfaces to raised. try again. | 
| 66       usleep(200000); | 66       usleep(200000); | 
| 67     } else { | 67     } else { | 
| 68       LOG(ERROR) << "Unable to create listening socket for: ret = " << ret | 68       LOG(ERROR) << "Unable to create listening socket for: ret = " << ret | 
| 69                  << ": " << listen_ip_.c_str() << ":" | 69                  << ": " << listen_ip_.c_str() << ":" << listen_port_.c_str(); | 
| 70                  << listen_port_.c_str(); |  | 
| 71       return; | 70       return; | 
| 72     } | 71     } | 
| 73   } | 72   } | 
| 74 | 73 | 
| 75   FlipSetNonBlocking(listen_fd_); | 74   FlipSetNonBlocking(listen_fd_); | 
| 76   VLOG(1) << "Listening on socket: "; | 75   VLOG(1) << "Listening on socket: "; | 
| 77   if (flip_handler_type == FLIP_HANDLER_PROXY) | 76   if (flip_handler_type == FLIP_HANDLER_PROXY) | 
| 78     VLOG(1) << "\tType         : Proxy"; | 77     VLOG(1) << "\tType         : Proxy"; | 
| 79   else if (FLIP_HANDLER_SPDY_SERVER) | 78   else if (FLIP_HANDLER_SPDY_SERVER) | 
| 80     VLOG(1) << "\tType         : SPDY Server"; | 79     VLOG(1) << "\tType         : SPDY Server"; | 
| 81   else if (FLIP_HANDLER_HTTP_SERVER) | 80   else if (FLIP_HANDLER_HTTP_SERVER) | 
| 82     VLOG(1) << "\tType         : HTTP Server"; | 81     VLOG(1) << "\tType         : HTTP Server"; | 
| 83   VLOG(1) << "\tIP           : " << listen_ip_; | 82   VLOG(1) << "\tIP           : " << listen_ip_; | 
| 84   VLOG(1) << "\tPort         : " << listen_port_; | 83   VLOG(1) << "\tPort         : " << listen_port_; | 
| 85   VLOG(1) << "\tHTTP Server  : " << http_server_ip_ << ":" | 84   VLOG(1) << "\tHTTP Server  : " << http_server_ip_ << ":" << http_server_port_; | 
| 86           << http_server_port_; |  | 
| 87   VLOG(1) << "\tHTTPS Server : " << https_server_ip_ << ":" | 85   VLOG(1) << "\tHTTPS Server : " << https_server_ip_ << ":" | 
| 88           << https_server_port_; | 86           << https_server_port_; | 
| 89   VLOG(1) << "\tSSL          : " | 87   VLOG(1) << "\tSSL          : " << (ssl_cert_filename.size() ? "true" | 
| 90           << (ssl_cert_filename.size()?"true":"false"); | 88                                                               : "false"); | 
| 91   VLOG(1) << "\tCertificate  : " << ssl_cert_filename; | 89   VLOG(1) << "\tCertificate  : " << ssl_cert_filename; | 
| 92   VLOG(1) << "\tKey          : " << ssl_key_filename; | 90   VLOG(1) << "\tKey          : " << ssl_key_filename; | 
| 93   VLOG(1) << "\tSpdy Only    : " << (spdy_only?"true":"false"); | 91   VLOG(1) << "\tSpdy Only    : " << (spdy_only ? "true" : "false"); | 
| 94 } | 92 } | 
| 95 | 93 | 
| 96 FlipAcceptor::~FlipAcceptor() {} | 94 FlipAcceptor::~FlipAcceptor() {} | 
| 97 | 95 | 
| 98 FlipConfig::FlipConfig() | 96 FlipConfig::FlipConfig() | 
| 99     : server_think_time_in_s_(0), | 97     : server_think_time_in_s_(0), | 
| 100       log_destination_(logging::LOG_TO_SYSTEM_DEBUG_LOG), | 98       log_destination_(logging::LOG_TO_SYSTEM_DEBUG_LOG), | 
| 101       wait_for_iface_(false) { | 99       wait_for_iface_(false) {} | 
| 102 } |  | 
| 103 | 100 | 
| 104 FlipConfig::~FlipConfig() {} | 101 FlipConfig::~FlipConfig() {} | 
| 105 | 102 | 
| 106 void FlipConfig::AddAcceptor(enum FlipHandlerType flip_handler_type, | 103 void FlipConfig::AddAcceptor(enum FlipHandlerType flip_handler_type, | 
| 107                              std::string listen_ip, | 104                              std::string listen_ip, | 
| 108                              std::string listen_port, | 105                              std::string listen_port, | 
| 109                              std::string ssl_cert_filename, | 106                              std::string ssl_cert_filename, | 
| 110                              std::string ssl_key_filename, | 107                              std::string ssl_key_filename, | 
| 111                              std::string http_server_ip, | 108                              std::string http_server_ip, | 
| 112                              std::string http_server_port, | 109                              std::string http_server_port, | 
| 113                              std::string https_server_ip, | 110                              std::string https_server_ip, | 
| 114                              std::string https_server_port, | 111                              std::string https_server_port, | 
| 115                              int spdy_only, | 112                              int spdy_only, | 
| 116                              int accept_backlog_size, | 113                              int accept_backlog_size, | 
| 117                              bool disable_nagle, | 114                              bool disable_nagle, | 
| 118                              int accepts_per_wake, | 115                              int accepts_per_wake, | 
| 119                              bool reuseport, | 116                              bool reuseport, | 
| 120                              bool wait_for_iface, | 117                              bool wait_for_iface, | 
| 121                              void *memory_cache) { | 118                              void* memory_cache) { | 
| 122   // TODO(mbelshe): create a struct FlipConfigArgs{} for the arguments. | 119   // TODO(mbelshe): create a struct FlipConfigArgs{} for the arguments. | 
| 123   acceptors_.push_back(new FlipAcceptor(flip_handler_type, | 120   acceptors_.push_back(new FlipAcceptor(flip_handler_type, | 
| 124                                         listen_ip, | 121                                         listen_ip, | 
| 125                                         listen_port, | 122                                         listen_port, | 
| 126                                         ssl_cert_filename, | 123                                         ssl_cert_filename, | 
| 127                                         ssl_key_filename, | 124                                         ssl_key_filename, | 
| 128                                         http_server_ip, | 125                                         http_server_ip, | 
| 129                                         http_server_port, | 126                                         http_server_port, | 
| 130                                         https_server_ip, | 127                                         https_server_ip, | 
| 131                                         https_server_port, | 128                                         https_server_port, | 
| 132                                         spdy_only, | 129                                         spdy_only, | 
| 133                                         accept_backlog_size, | 130                                         accept_backlog_size, | 
| 134                                         disable_nagle, | 131                                         disable_nagle, | 
| 135                                         accepts_per_wake, | 132                                         accepts_per_wake, | 
| 136                                         reuseport, | 133                                         reuseport, | 
| 137                                         wait_for_iface, | 134                                         wait_for_iface, | 
| 138                                         memory_cache)); | 135                                         memory_cache)); | 
| 139 } | 136 } | 
| 140 | 137 | 
| 141 }  // namespace | 138 }  // namespace net | 
| OLD | NEW | 
|---|