csclient


  class csclient
  {
  public:
      csclient(csclientimp* imp);
      csclient(csclientimp* imp, const csaddress* addr);
              // will immediately connect
      virtual ~csclient();
              // will close connection
  
      virtual int connect();
      virtual int connect(const csaddress* addr);
      virtual int connected();
      virtual void disconnect();
      virtual data_connection* connection() const;
      virtual csaddress* address() const;
              // may return 0 if not connected
  
      virtual int read(char* buffer, int maxbytes);
      virtual int readmsg(char* buffer, int maxbytes);
      virtual int write(const char* buffer, int nrbytes);
      virtual int writemsg(const char* buffer, int nrbytes);
      virtual int ready(timeval* timeout = NULL);         // is data available?
      virtual int fd() const;
  
  protected:
      void init(csclientimp* imp, const csaddress* addr);
  
      csclientimp* _imp;
  };

slide: csclient