Inheritance diagram for ClusterServer:
Public Member Functions | |
this (InternetAddress bind, int threads, ILogger logger=null) | |
void | enroll (ILogger logger) |
void | addCacheLoader (IPayload loader, bool enroll=false) |
void | start () |
void | setCache (ClusterCache cache) |
ClusterCache | getCache () |
void | setQueue (ClusterQueue queue) |
char[] | getProtocol () |
void | notify (IEvent event, IPayload payload) |
char[] | toString () |
ServerSocket | createSocket (InternetAddress bind, int backlog) |
ServerThread | createThread (ServerSocket socket) |
void | service (ServerThread st, IConduit conduit) |
Private Attributes | |
ClusterCache | cache |
ClusterQueue | queue |
Cluster | cluster |
IChannel | channel |
RollCall | rollcall |
CacheServer | taskServer |
Definition at line 74 of file ClusterServer.d.
|
Construct this server with the requisite attributes. The 'bind' address is the local address we'll be listening on, 'threads' represents the number of socket-accept threads, and backlog is the number of "simultaneous" connection requests that a socket layer will buffer on our behalf. We also set up a listener for client discovery-requests, and lastly, we tell active clients that we're available for work. Clients should be listening on the appropriate channel for an instance of the RollCall payload. Definition at line 98 of file ClusterServer.d. References Cluster, Cluster::createChannel(), Cluster::createConsumer(), enroll(), ILogger, RollCall, rollcall, taskServer, and version. |
|
Definition at line 130 of file ClusterServer.d. Referenced by this(). |
|
Definition at line 138 of file ClusterServer.d. References IPickle::getGuid(), and Cluster::getLogger(). |
|
Start this server Definition at line 154 of file ClusterServer.d. References Cluster::broadcast(), ClusterCache, queue, rollcall, taskServer, and version. |
|
Use this before starting the server Definition at line 181 of file ClusterServer.d. |
|
Definition at line 190 of file ClusterServer.d. |
|
Use this before starting the server Definition at line 201 of file ClusterServer.d. |
|
Return the protocol in use. Definition at line 212 of file ClusterServer.d. Referenced by toString(). |
|
Interface method that's invoked when a client is making discovery requests. We just send back our identity in a reply. Reimplemented from IEventListener. Definition at line 225 of file ClusterServer.d. References Cluster::broadcast(), RollCall::request, and rollcall. |
|
Return a text string identifying this server Definition at line 240 of file ClusterServer.d. References getProtocol(). |
|
Create a ServerSocket instance. Definition at line 251 of file ClusterServer.d. References ServerSocket. |
|
Create a ServerThread instance. This can be overridden to create other thread-types, perhaps with additional thread- level data attached. Definition at line 264 of file ClusterServer.d. References ServerThread. |
|
Factory method for servicing a request. We just create a new ClusterThread to handle requests from the client. The thread does not exit until the socket connection is broken by the client, or some other exception occurs. Definition at line 278 of file ClusterServer.d. References ClusterThread, queue, and thread. |
|
Definition at line 76 of file ClusterServer.d. |
|
Definition at line 77 of file ClusterServer.d. |
|
Definition at line 78 of file ClusterServer.d. |
|
Definition at line 79 of file ClusterServer.d. |
|
Definition at line 80 of file ClusterServer.d. |
|
Definition at line 81 of file ClusterServer.d. |