Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rpc_set_async_ack(3ncs) [ultrix man page]

rpc_set_async_ack(3ncs) 												   rpc_set_async_ack(3ncs)

Name
       rpc_set_async_ack - set or clear asynchronous-acknowledgement mode (client only)

Syntax
       #include <idl/c/rpc.h>

       void rpc_$set_async_ack (state)
       unsigned long state;

Arguments
       state		   If  "true" (nonzero), asynchronous-acknowledgement mode is set.  If "false" (zero), synchronous-acknowledgement mode is
			   set.

Description
       The call sets or clears asynchronous-acknowledgement mode in a client.

       Synchronous-acknowledgement mode is the default.  Calling with a nonzero value for state sets asynchronous-acknowledgement  mode.   Calling
       it with a zero value for state sets synchronous-acknowledgement mode.

       After  a  client  makes	a remote procedure call and receives a reply from a server, the RPC runtime library at the client acknowledges its
       receipt of the reply.  This "reply acknowledgement" can occur either synchronously (before the runtime library returns to  the  caller)	or
       asynchronously (after the runtime library returns to the caller).

       It  is  generally good to allow asynchronous reply acknowledgements.  Asynchronous-acknowledgement mode can save the client runtime library
       from making explicit reply acknowledgements, because after a client receives a reply, it may shortly issue another call that can act as	an
       implicit acknowledgement.

       Asynchronous-acknowledgement  mode  requires  that  an "alarm" be set to go off sometime after the remote procedure call returns.  Unfortu-
       nately, setting the alarm can cause two problems:

	      1      There may be only one alarm that can be set, and the application itself may be trying to use it.

	      2      If, at the time the alarm goes off, the application is blocked in a system call that is doing I/O to a "slow device" (such as
		     a	terminal),  the  system  call will return an error (with the EINTR errno); the application may not be coded to expect this
		     error.  If neither of these problems exists, the application should set  asynchronous-acknowledgement  mode  to  get  greater
		     efficiency.

Files
See Also
       intro(3ncs)

															   rpc_set_async_ack(3ncs)

Check Out this Related Man Page

rpc_register(3ncs)														rpc_register(3ncs)

Name
       rpc_register - register an interface (server only)

Syntax
       #include <idl/c/rpc.h>

       void rpc_$register(ifspec, epv, status)
       rpc_$if_spec_t *ifspec;
       rpc_$epv_t epv;
       status_$t *status;

Arguments
       ifspec		   The interface being registered.

       epv		   The entry point vector (EPV) for the operations in the interface.  The EPV is always defined in the server stub that is
			   generated by the NIDL compiler from an interface definition.

       status		   The completion status.  If the completion status returned in is equal to status_$ok , then the routine that supplied it
			   was successful.

Description
       The  routine  registers	an  interface  with  the RPC runtime library.  After an interface is registered, the RPC runtime library will pass
       requests for that interface to the server.

       You can call several times with the same interface (for example, from various subroutines of the same server), but each call  must  specify
       the  same  EPV.	Each registration increments a reference count for the registered interface; an equal number of routines are then required
       to unregister the interface.

Examples
       The following statement registers the bank interface with the bank server host's RPC runtime library:
       rpc_$register (&bank_$if_spec, bank_$server_epv, &status);

Diagnostics
       This section lists status codes for errors returned by this routine in

       rpc_$op_rng_error   The requested operation does not correspond to a valid operation in the requested interface.

       rpc_$too_many_ifs   The maximum number of interfaces is already registered with the RPC runtime library; the server  must  unregister  some
			   interface before it registers an additional interface.

       rpc_$not_in_call    An internal error.

       rpc_$you_crashed    This error can occur if a server has crashed and restarted.	A client RPC runtime library sends the error to the server
			   if the client makes a remote procedure call before the server crashes,  then  receives  a  response	after  the  server
			   restarts.

       rpc_$proto_error    An internal protocol error.

       rpc_$illegal_register
			   You are trying to register an interface that is already registered and you are using an EPV different from the one used
			   when the interface was first registered.  An interface can be multiply registered, but you must use	the  same  EPV	in
			   each routine.

       rpc_$bad_pkt	   The server or client has received an ill-formed packet.

Files
See Also
       intro(3ncs), rpc_register_mgr(3ncs), rpc_register_object(3ncs), rpc_unregister(3ncs)

																rpc_register(3ncs)
Man Page