// Find all port statements in the configuration file, and create acceptors for htem.
vector<Acceptor *> create_acceptors(
const Config &config,
// Find all port statements in the configuration file, and create acceptors for htem.
vector<Acceptor *> create_acceptors(
const Config &config,
{
vector<Acceptor *> acceptors;
for (unsigned i = 0; i < config.acceptors.size(); ++i) {
const AcceptorConfig &acceptor_config = config.acceptors[i];
Acceptor *acceptor = NULL;
{
vector<Acceptor *> acceptors;
for (unsigned i = 0; i < config.acceptors.size(); ++i) {
const AcceptorConfig &acceptor_config = config.acceptors[i];
Acceptor *acceptor = NULL;
- map<int, Acceptor *>::iterator deserialized_acceptor_it =
- deserialized_acceptors->find(acceptor_config.port);
+ map<sockaddr_in6, Acceptor *, Sockaddr6Compare>::iterator deserialized_acceptor_it =
+ deserialized_acceptors->find(acceptor_config.addr);
if (deserialized_acceptor_it != deserialized_acceptors->end()) {
acceptor = deserialized_acceptor_it->second;
deserialized_acceptors->erase(deserialized_acceptor_it);
} else {
if (deserialized_acceptor_it != deserialized_acceptors->end()) {
acceptor = deserialized_acceptor_it->second;
deserialized_acceptors->erase(deserialized_acceptor_it);
} else {
- int server_sock = create_server_socket(acceptor_config.port, TCP_SOCKET);
- acceptor = new Acceptor(server_sock, acceptor_config.port);
+ int server_sock = create_server_socket(acceptor_config.addr, TCP_SOCKET);
+ acceptor = new Acceptor(server_sock, acceptor_config.addr);
- for (map<int, Acceptor *>::iterator acceptor_it = deserialized_acceptors->begin();
+ for (map<sockaddr_in6, Acceptor *, Sockaddr6Compare>::iterator
+ acceptor_it = deserialized_acceptors->begin();
string src = stream_config.src;
if (!src.empty()) {
multimap<string, InputWithRefcount>::iterator input_it = inputs->find(src);
string src = stream_config.src;
if (!src.empty()) {
multimap<string, InputWithRefcount>::iterator input_it = inputs->find(src);
CubemapStateProto loaded_state;
struct timeval serialize_start;
set<string> deserialized_urls;
CubemapStateProto loaded_state;
struct timeval serialize_start;
set<string> deserialized_urls;
multimap<string, InputWithRefcount> inputs; // multimap due to older versions without deduplication.
if (state_fd != -1) {
log(INFO, "Deserializing state from previous process...");
multimap<string, InputWithRefcount> inputs; // multimap due to older versions without deduplication.
if (state_fd != -1) {
log(INFO, "Deserializing state from previous process...");