RpcService(3) support RPC between a service and its clients


#include <Dispatch/rpcservice.h>


An RpcService (actually, an instance of a derived class) creates a port and listens to it for connections from clients. When a client opens a connection, the RpcService will create a reader to handle RPC requests from the connection.


RpcService(int port)
RpcService(const char* path, int port = 0)
Start up an RPC service. If a filename is given, record the RPC service's hostname and port number in it so clients can contact the service. If ``port'' is zero, the next free port number will be used.


void run()
void quitRunning()
Read RPC requests continuously until ``quitRunning()'' terminates the loop. If you're using InterViews, you don't have to call ``run()'' since the InterViews event-reading code will also read RPC requests.


virtual void createReader(int fd) = 0
You must define this function in a derived class in order to start servicing RPC requests from a new client. Typically all you have to do is to construct a reader using the passed file descriptor and make the reader responsible for deleting itself when it notices that the connection has been closed by the client.