RpcHdr - header for remote procedure calls
SYNOPSIS
#include <Dispatch/rpchdr.h>
DESCRIPTION
An RpcHdr enables an RPC request to be sent or received.
To send an RPC request, you would insert an RpcHdr into an
rpcstream followed by any arguments and then flush the
rpcstream if you wanted the request to be sent immedi-
ately. The rpcstream automatically fills in each RPC
request's length field. To receive an RPC request, you
would extract an RpcHdr from an rpcstream and examine the
``request()'' member to determine which additional argu-
ments need to be extracted as well. You can examine the
``ndata()'' member too if you need to estimate how much
space to allocate.
CONSTRUCTORS
RpcHdr(void* writer, int request)
RpcHdr(int request)
RpcHdr()
Construct an initialized header for an outgoing RPC
request (first two constructors) or construct an
uninitialized header for an incoming RPC request
(third constructor). To initialize the header,
you'll have to store the request's protocol number.
You can also store the address of the writer send-
ing the RPC request if you want to route the RPC
request to a specific reader on the peer's side.
PUBLIC OPERATIONS
unsigned long reader()
int request()
unsigned int ndata()
Get information about the RPC request.
``reader()'' identifies the reader which should
handle the RPC request. ``request()'' identifies
the action that should be performed. ``ndata()''
gives the number of data bytes following the
header, which may be useful for estimating the
amount of space that must be allocated to store an
argument.
SEE ALSO
RpcReader(3I), RpcWriter(3I), rpcstream(3I)
Man(1) output converted with
man2html