#include <LocalServer.h>
Inheritance diagram for CODEX_Quorum::LocalServer:


Public Member Functions | |
| LocalServer (int port, const SocketBuilder &socketBuilder) | |
| Constructor. | |
| virtual | ~LocalServer () |
| Destructor. | |
| 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 | |
| SocketBase * | socket () 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. | |
This is an abstract class for implementing services. Derived classes must implement processRequest(), and probably should reimplement enable() and disable().
A LocalServer is by default not enabled, and the methods enable() and disable() are provided so that a service may be switched on and off during the lifetime of an application, as circumstances dictate. For example, one LocalServer might handle requests that cause other services to be started and stopped, where the requests include key values for a map<> of service/key pairs.
Definition at line 45 of file LocalServer.h.
|
||||||||||||
|
Constructor. On construction, no socket is created. That is done by enable().
Definition at line 27 of file LocalServer.cc. |
|
|
Destructor. The base class destructor cleans up the open socket, if there is one. Definition at line 34 of file LocalServer.cc. |
|
|
Returns the SocketBuilder for this server.
Definition at line 120 of file LocalServer.h. Referenced by CODEX_KeyService::ClientServer::processRequest(). |
|
|
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(). |
|
|
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(). |
|
||||||||||||
|
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(). |
|
|
Process incoming requests. Derived classes must implement this routine, which is called whenever a connection is made.
Implemented in CODEX_Quorum::EchoServer. |
|
||||||||||||
|
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(). |
|
|
Set a SocketBase for this server. Useful for servers that clone themselves. Definition at line 126 of file LocalServer.h. References socket(). Referenced by CODEX_KeyService::ClientActivity::ClientActivity(), and CODEX_Server::InternalVerifier::InternalVerifier(). |
1.4.1