// csserverimp.h ifndef _CSSERVERIMP_H_ define _CSSERVERIMP_H_ include <sys/types.h> class connection; class csaddress; class data_connection; class listen_connection; class handler;
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
class csserver; data_connection** _clients; listen_connection* _listen; csaddress* _address; int _connected; };
endif _CSSERVERIMP_H_
Hush Online Technology
hush@cs.vu.nl
09/09/98 |
![]() |
![]() |