Inheritance diagram for AbstractServer:
Public Member Functions | |
this (InternetAddress bind, int threads, int backlog, ILogger logger=null) | |
void | service (ServerThread thread, IConduit conduit) |
char[] | getRemoteAddress (IConduit conduit) |
char[] | getRemoteHost (IConduit conduit) |
int | getPort () |
char[] | getHost () |
ILogger | getLogger () |
void | start () |
Protected Member Functions | |
abstract char[] | toString () |
abstract ServerSocket | createSocket (InternetAddress bind, int backlog) |
abstract ServerThread | createThread (ServerSocket socket) |
Private Member Functions | |
char[] | getProtocol () |
Private Attributes | |
InternetAddress | bind |
int | threads |
int | backlog |
ServerSocket | socket |
ILogger | logger |
Definition at line 64 of file AbstractServer.d.
|
Setup this server with the requisite attributes. The number of threads specified dictate exactly that. You might have anything between 1 thread and several hundred, dependent upon the underlying O/S and hardware. Parameter 'backlog' specifies the max number of"simultaneous" connection requests to be handled by an underlying socket implementation. Definition at line 85 of file AbstractServer.d. |
|
Concrete server must expose a name Implemented in ClusterServer, CacheServer, and HttpServer. Referenced by start(). |
|
Concrete server must expose a ServerSocket factory Implemented in ClusterServer, CacheServer, and HttpServer. Referenced by start(). |
|
Concrete server must expose a ServerThread factory Implemented in ClusterServer, CacheServer, and HttpServer. Referenced by start(). |
|
Concrete server must expose a service handler Reimplemented in ClusterServer, CacheServer, and HttpServer. Referenced by ServerThread::run(). |
|
Provide support for figuring out the remote address Reimplemented from IServer. Definition at line 138 of file AbstractServer.d. References socket, and InternetAddress::toAddrString(). |
|
Provide support for figuring out the remote host. Not currently implemented. Reimplemented from IServer. Definition at line 155 of file AbstractServer.d. |
|
Return the local port we're attached to Reimplemented from IServer. Definition at line 166 of file AbstractServer.d. References InternetAddress::port(), and socket. |
|
Return the local address we're attached to Reimplemented from IServer. Definition at line 178 of file AbstractServer.d. References socket, and InternetAddress::toAddrString(). |
|
Return the logger associated with this server Definition at line 190 of file AbstractServer.d. References logger. Referenced by ServerThread::run(), CacheServer::LoaderThread::this(), and ClusterServer::this(). |
|
Start this server Reimplemented in ClusterServer. Definition at line 201 of file AbstractServer.d. References backlog, bind, createSocket(), createThread(), ILogger::info(), logger, socket, threads, and toString(). Referenced by TaskServer::start(), ClusterServer::start(), testRPCServer(), and testServer(). |
|
Return the protocol in use. Reimplemented in ClusterServer, CacheServer, and HttpServer. Referenced by HttpRequest::getServerScheme(). |
|
Definition at line 66 of file AbstractServer.d. |
|
Definition at line 67 of file AbstractServer.d. |
|
Definition at line 68 of file AbstractServer.d. |
|
Definition at line 69 of file AbstractServer.d. Referenced by getHost(), getPort(), getRemoteAddress(), start(), and ServerThread::this(). |
|
Definition at line 70 of file AbstractServer.d. Referenced by getLogger(), start(), and this(). |