RpcService3
Support rpc between a service and its clients
Overview
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.
Constructors
- 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.
Public operations
- 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.
Protected operations
- 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.