Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CODEX_Server::InternalServer Class Reference

This class listens for server-to-server connections. More...

#include <InternalServer.h>

Inheritance diagram for CODEX_Server::InternalServer:

Inheritance graph
[legend]
Collaboration diagram for CODEX_Server::InternalServer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 InternalServer (int port, const CODEX_Quorum::SocketBuilder &socketBuilder)
 Constructor.
virtual ~InternalServer ()
 Virtual destructor.
void processRequest (CODEX_Quorum::SocketBase::StateType s)
virtual void enable ()
 Create a socket and begin listening.
virtual void disable ()
 Stop listening and destroy the open socket.
int port () const
 The port on which the server is listening.
virtual int set_fd (fd_set *fd_bitmap, SocketBase::StateType s)
 Set the bitmap for this socket.
virtual bool isset_fd (const fd_set *fd_bitmap, SocketBase::StateType s)
 Whether the bitmap is set for this socket.
virtual void processRequest (SocketBase::StateType s)=0
 Process incoming requests.

Protected Member Functions

SocketBasesocket () const
 Returns the socket on which this server is listening.
const SocketBuilder & builder () const
 Returns the SocketBuilder for this server.
void setSocket (SocketBase *socket)
 Set a SocketBase for this server.

Detailed Description

This class listens for server-to-server connections.

Definition at line 29 of file InternalServer.h.


Member Function Documentation

const SocketBuilder& CODEX_Quorum::LocalServer::builder  )  const [inline, protected, inherited]
 

Returns the SocketBuilder for this server.

Definition at line 120 of file LocalServer.h.

Referenced by CODEX_KeyService::ClientServer::processRequest().

void LocalServer::disable  )  [virtual, inherited]
 

Stop listening and destroy the open socket.

Derived classes needing to clean up any state on shutdown should reimplement this method. This base-class version should be called explicitly, to ensure the necessary base class cleanup.

Reimplemented in CODEX_Server::InternalVerifier.

Definition at line 53 of file LocalServer.cc.

Referenced by CODEX_Server::InternalVerifier::disable().

void LocalServer::enable  )  [virtual, inherited]
 

Create a socket and begin listening.

Derived classes should reimplement this to perform other service initialization tasks needed. This base-class version should be called explicitly, to ensure the necessary base class initialization.

Definition at line 41 of file LocalServer.cc.

References CODEX_Quorum::SocketBase::setup().

bool LocalServer::isset_fd const fd_set *  fd_bitmap,
SocketBase::StateType  s
[virtual, inherited]
 

Whether the bitmap is set for this socket.

Some types of sockets may need to know the operation being tested.

Definition at line 76 of file LocalServer.cc.

References CODEX_Quorum::SocketBase::isset_fd().

virtual void CODEX_Quorum::LocalServer::processRequest SocketBase::StateType  s  )  [pure virtual, inherited]
 

Process incoming requests.

Derived classes must implement this routine, which is called whenever a connection is made.

Attention:
No further connections may be handled, nor any other actions taken, until this function returns. Consequently, if you do not want your program to block on a request, you must implement some concurrency mechanism, such as an event model or threads. This class makes no assumptions about concurrency.

Implemented in CODEX_Quorum::EchoServer.

int LocalServer::set_fd fd_set *  fd_bitmap,
SocketBase::StateType  s
[virtual, inherited]
 

Set the bitmap for this socket.

Some types of sockets may need to know the operation being tested.

Definition at line 69 of file LocalServer.cc.

References CODEX_Quorum::SocketBase::set_fd().

void CODEX_Quorum::LocalServer::setSocket SocketBase socket  )  [inline, protected, inherited]
 

Set a SocketBase for this server.

Useful for servers that clone themselves.

Definition at line 126 of file LocalServer.h.

References CODEX_Quorum::LocalServer::socket().

Referenced by CODEX_KeyService::ClientActivity::ClientActivity(), and CODEX_Server::InternalVerifier::InternalVerifier().


The documentation for this class was generated from the following files:
Generated on Fri May 6 17:42:40 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1