NAME¶
RpcRegistry - name space for finding RPC services
SYNOPSIS¶
#include <Dispatch/rpcregistry.h>
DESCRIPTION¶
RpcRegistry provides a name space for finding RPC services based on the use of
NFS filesystems among a group of hosts. When an RPC service wishes to record
its host name and port number, it will give the path of a file in which to
store the information. When a client wants to find the RPC service's host name
and port number, it will give the path of a file from which to read the
information. Usually the path will be the name of a file in the current
working directory since different hosts may have different absolute pathnames
for the same file in a NFS filesystem. The RPC service's name space is the
name space of the host's filesystem and the file's contents provides the
information needed to open a connection to the RPC service.
PUBLIC OPERATIONS¶
Each function is a static member function, which means a program can call it
without having to instantiate an RpcRegistry object. Each function returns
true if it succeeded or false if some error occurred.
- boolean record(const char* path, int port)
- Record the RPC service's host name and port number in the
given file. If the file already exists, its previous contents will be
lost.
- boolean erase(const char* path)
- Remove the file which stores the RPC service's host name
and port number so that no more clients will be able to contact the RPC
service.
- boolean find(const char* path, char*& hostname,
int& port)
- Open the file which stores the RPC service's host name and
port number. If the file does not exist, return failure silently. If the
file does exist, read the RPC service's host name and port address from
it. If ``hostname'' is nil upon entry, it will contain the address of a
dynamically allocated string upon exit (which must be freed by the
caller).
SEE ALSO¶
RpcService(3I)