]> git.tdb.fi Git - libs/net.git/blobdiff - source/http/server.h
Support asynchronous name resolution in Http::Client
[libs/net.git] / source / http / server.h
index 41894db99d6141dc89c901c354d06b4f25ca25b3..3679013dda51c22c9f76438298b870e069bcd6e1 100644 (file)
@@ -23,6 +23,7 @@ private:
                std::string in_buf;
                Request *request;
                Response *response;
+               bool keepalive;
                bool async;
                bool stale;
 
@@ -32,17 +33,22 @@ private:
 
        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 &);
 };