-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <unistd.h>
#include <assert.h>
+#include <errno.h>
#include <getopt.h>
-#include <arpa/inet.h>
-#include <sys/socket.h>
-#include <pthread.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/poll.h>
+#include <signal.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <sys/time.h>
-#include <sys/types.h>
#include <sys/wait.h>
-#include <signal.h>
-#include <errno.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <vector>
-#include <string>
+#include <unistd.h>
#include <map>
#include <set>
+#include <string>
+#include <utility>
+#include <vector>
#include "acceptor.h"
#include "config.h"
+#include "input.h"
#include "markpool.h"
-#include "metacube.h"
-#include "parse.h"
-#include "server.h"
#include "serverpool.h"
-#include "input.h"
+#include "state.pb.h"
#include "stats.h"
#include "util.h"
#include "version.h"
-#include "state.pb.h"
using namespace std;
for (unsigned i = 0; i < config.streams.size(); ++i) {
const StreamConfig &stream_config = config.streams[i];
if (deserialized_stream_ids.count(stream_config.stream_id) == 0) {
- servers->add_stream(stream_config.stream_id);
+ servers->add_stream(stream_config.stream_id, stream_config.backlog_size);
+ } else {
+ servers->set_backlog_size(stream_config.stream_id, stream_config.backlog_size);
}
expecting_stream_ids.erase(stream_config.stream_id);
int main(int argc, char **argv)
{
+ signal(SIGHUP, hup);
+ signal(SIGPIPE, SIG_IGN);
+
// Parse options.
int state_fd = -1;
bool test_config = false;
// Find all streams in the configuration file, and create them.
create_streams(config, deserialized_stream_ids, &deserialized_inputs);
- servers->run();
-
vector<Acceptor *> acceptors = create_acceptors(config, &deserialized_acceptors);
vector<Input *> inputs = create_inputs(config, &deserialized_inputs);
for (int i = 0; i < loaded_state.clients_size(); ++i) {
servers->add_client_from_serialized(loaded_state.clients(i));
}
+
+ servers->run();
// Start writing statistics.
StatsThread *stats_thread = NULL;
stats_thread->run();
}
- signal(SIGHUP, hup);
-
struct timeval server_start;
gettimeofday(&server_start, NULL);
if (state_fd != -1) {