class csserver
{
public:
csserver(csserverimp* imp, csaddress* addr = 0);
virtual ~csserver();
// will close all remaining connections
virtual int connected() const;
virtual void bind(handler* h) const;
// binds a handler object to the listen-connection (hush only)
virtual void unbind() const;
virtual data_connection* newconnection();
virtual listen_connection* listenconn() const;
virtual data_connection* conn(int fd) const;
// find data_connection with filedescriptor fd
virtual data_connection* select(fd_set* fds = 0);
virtual void close(data_connection* conn);
virtual void closeall();
virtual int broadcast(const char* buffer, int nrbytes);
virtual int broadcastmsg(const char* buffer, int nrbytes);
virtual int read(data_connection* conn, char* buffer, int maxnrbytes);
virtual int readmsg(data_connection* conn, char* buffer, int maxnrbytes);
virtual int write(data_connection* conn, const char* buffer, int nrbytes);
virtual int writemsg(data_connection* conn, const char* buffer,
int nrbytes);
protected:
virtual int init(csserverimp* imp, csaddress* addr);
csserverimp* _imp;
};
slide: csserver