NAME¶
RpcService - support RPC between a service and its clients
SYNOPSIS¶
#include <Dispatch/rpcservice.h>
DESCRIPTION¶
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.
SEE ALSO¶
Dispatcher(3I), RpcReader(3I), RpcRegistry(3I)