#ifndef SERVER_H
#define SERVER_H
#include "connection.h"
class Server: public Socket {
private:
friend class Protocol;
friend class Connection;
Connection *connFirst, *connLast;
public:
Server();
~Server();
bool open(Protocol &protocol, void *address, size_t addressSize);
private:
void handleDisconnect(Connection &connection, bool error);
void handleState() override;
void handleEvents(unsigned int events) override;
protected:
virtual Connection* onConnect(const void *address, size_t addressSize);
virtual void onDisconnect(Connection *connection, bool error);
};
#endif