The DejaVU Framework -- hush 3.0
[.] Papers Tutorials Examples Manuals Interfaces Sources Packages Resources ?

include: csserverimp.h hush-3.0b4/auxiliary/net/cs


[.] - [up] [top] - index README make include source scripts configure
  // csserverimp.h
  
  ifndef _CSSERVERIMP_H_
  define _CSSERVERIMP_H_
  
  include <sys/types.h>
  
  class connection;
  class csaddress;
  class data_connection;
  class listen_connection;
  class handler;
  
  

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


csserver;


   class csserver;
  
      data_connection** _clients;
      listen_connection* _listen;
      csaddress* _address;
      int _connected;
  };

slide: csserver;

  
  endif _CSSERVERIMP_H_
  

[.] Papers Tutorials Examples Manuals Interfaces Sources Packages Resources ?
Hush Online Technology
hush@cs.vu.nl
09/09/98