+
+void Server::add_client(int sock)
+{
+ MutexLock lock(&mutex);
+ Client new_client;
+ new_client.state = Client::READING_REQUEST;
+ new_client.header_bytes_sent = 0;
+ new_client.bytes_sent = 0;
+
+ clients.insert(make_pair(sock, new_client));
+
+ // Start listening on data from this socket.
+ epoll_event ev;
+ ev.events = EPOLLIN;
+ ev.data.fd = sock;
+ if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, sock, &ev) == -1) {
+ perror("epoll_ctl(EPOLL_CTL_ADD)");
+ exit(1);
+ }
+}
+
+void Server::add_stream(const string &stream_id)
+{
+ // TODO
+}
+
+void Server::set_header(const string &stream_id, const string &header)
+{
+ // TODO
+ printf("got header! %lu bytes\n", header.size());
+}
+
+void Server::add_data(const string &stream_id, const char *data, size_t bytes)
+{
+ // TODO
+}