+
+ void process_client(Client *client);
+
+ // Close a given client socket, and clean up after it.
+ void close_client(Client *client);
+
+ // Parse the HTTP request, construct the header, and set the client into
+ // the SENDING_HEADER state.
+ void parse_request(Client *client);
+
+ // Put client to sleep, since there is no more data for it; we will on
+ // longer listen on POLLOUT until we get more data. Also, it will be put
+ // in the list of clients to wake up when we do.
+ void put_client_to_sleep(Client *client);
+
+ // We have more data, so mark all clients that are sleeping as ready to go.
+ void wake_up_all_clients();
+
+ // TODO: This function should probably die.
+ Stream *find_stream(const std::string &stream_id);