csserverimp


  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