#ifndef headerfile_libscorpiohttpserver_src_server_h #define headerfile_libscorpiohttpserver_src_server_h #include #include "client.h" #include "headers_parser.h" class Server { public: Server(); virtual ~Server(); void CloseMainSocket(); void CloseClientSockets(); void Close(); void PrepareMainSocket(); void Wait(); private: std::vector client_tab; int main_socket; fd_set read_set, write_set; bool close_server; HeadersParser headers_parser; int AddSocketsToSet(); void AddNewClient(); void ReadWriteToClients(); void ReadInputFromClient(Client & client); void WriteOutputToClient(Client & client); void CheckHeaders(Client & client, size_t input_buffer_index); virtual bool SelectMethodName(Client & client, const std::wstring & method_name); //void RemoveClientSocket(int client_socket); virtual void CreateAnswer(Client & client); }; #endif