class csserverimp
{
public:
csserverimp();
virtual ~csserverimp();
virtual int connected_imp() const;
virtual void bind_imp(handler* h) const;
// binds a handler object to the listen-connection (hush only)
virtual void unbind_imp() const;
virtual data_connection* newconnection_imp();
virtual listen_connection* listenconn_imp() const;
virtual data_connection* conn_imp(int fd) const;
// find data_connection with filedescriptor fd
virtual data_connection* select_imp(fd_set* fds = 0);
virtual void close_imp(data_connection* conn);
virtual void closeall_imp();
virtual int broadcast_imp(const char* buffer, int nrbytes);
virtual int broadcastmsg_imp(const char* buffer, int nrbytes);
virtual int read_imp(data_connection* conn, char* buffer, int maxnrbytes);
virtual int readmsg_imp(data_connection* conn, char* buffer,
int maxnrbytes);
virtual int write_imp(data_connection* conn, const char* buffer,
int nrbytes);
virtual int writemsg_imp(data_connection* conn, const char* buffer,
int nrbytes);
protected:
virtual int init_imp(csaddress* addr);
virtual data_connection* checkconnections_imp();
virtual void close_imp(int clientnr);
virtual listen_connection* createlisten(const csaddress* addr) const = 0;
friend
slide: csserverimp