std::string in_buf;
Request *request;
Response *response;
+ bool keepalive;
bool async;
bool stale;
Net::StreamServerSocket sock;
std::list<Client> clients;
+ std::map<Response *, Client *> responses;
IO::EventDispatcher *event_disp;
public:
Server(unsigned);
+ ~Server();
+
unsigned get_port() const;
void use_event_dispatcher(IO::EventDispatcher *);
void delay_response(Response &);
void submit_response(Response &);
+ void cancel_keepalive(Response &);
private:
void data_available();
void client_data_available(Client &);
+ void send_response(Client &, Response &);
void client_end_of_file(Client &);
Client &get_client_by_response(Response &);
};