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