class csclientimp
{
public:
csclientimp();
virtual ~csclientimp();
virtual int connect_imp();
virtual int connect_imp(const csaddress* addr);
virtual int connected_imp();
// 1: connected; 0: not connected
virtual void disconnect_imp();
virtual data_connection* connection_imp() const;
virtual csaddress* address_imp() const;
// may return 0 if not connected
virtual int read_imp(char* buffer, int maxbytes);
virtual int readmsg_imp(char* buffer, int maxbytes);
virtual int write_imp(const char* buffer, int nrbytes);
virtual int writemsg_imp(const char* buffer, int nrbytes);
virtual int ready_imp(timeval* timeout = NULL); // is data available?
virtual int fd_imp() const;
protected:
virtual data_connection* createdata(const csaddress* addr) const = 0;
csaddress* _address;
data_connection* _conn;
int _connected;
};
slide: csclientimp