#ifndef NETWORKSERVER_HH
#define NETWORKSERVER_HH
#include <list>
#define NETWORK_SERVER_BACKLOG 8
class NetworkServer : public NetworkBase {
private:
GameState *state;
std::map<CL_IPAddress, NetworkServerClient> client_sockets;
CL_EventListener listener;
CL_Slot slot_on_accept;
NetworkServer (GameState *state, const CL_IPAddress &listen_ip);
public:
static NetworkServer *newServer (void);
void run (void);
private:
void _onAccept (void);
};
class NetworkServerClient {
private:
NetworkServer &server;
private:
NetworkServerClient (NetworkServer &server);
};
void runNetworkServer (void);
#endif