rpc_server_use_all_protseqs- tells the RPC run-time system to use all supported protocol sequences for receiving remote procedure calls
void rpc_server_use_all_protseqs( unsigned32 max_call_requests, unsigned32 *status);
- Specifies the number of concurrent remote procedure call requests that the server is guaranteed to accept from the transport. The RPC run-time system allocates sufficient network resources to handle this number of concurrent calls.
The RPC run-time system guarantees that the server can accept at least this number of concurrent call requests. The actual number of these requests can be greater than the value of max_call_requests and can vary for each protocol sequence.
The value rpc_c_protseq_max_reqs_default specifies an implementation dependent default value >=1.
- The rpc_server_listen routine specifies a max_calls_exec argument that specifies the number of call threads the server will allocate to handle calls. Normally, the values of max_calls_exec and max_call_requests are the same. Servers are guaranteed to support the minimum of max_calls_exec and max_call_requests concurrent remote procedure calls. Applications should not rely on a server handling more than this number.
- Returns the status code from this routine. The status code indicates whether the routine completed successfully, or if not, why not.
Possible status codes and their meanings include:
Cannot create a transport endpoint.
Exceeded maximum number of transport endpoints.
No supported protocol sequences.
The rpc_server_use_all_protseqs() routine registers all supported protocol sequences with the RPC run-time system. A server must register at least one protocol sequence with the RPC run-time system to receive remote procedure call requests.
For each protocol sequence registered by a server, the RPC run-time system creates one or more binding handles. The RPC run-time system creates different binding handles for each protocol sequence. Each binding handle contains a dynamic endpoint that the RPC run-time system generated.
The max_call_requests argument allows applications to specify a maximum number of concurrent remote procedure call requests the server must handle.
After registering protocol sequences, a server typically calls the following routines:
- rpc_server_inq_bindings(), which obtains a vector containing all of the server's binding handles
- rpc_ep_register() or rpc_ep_register_no_replace(), which register the binding handles with the local endpoint map
- rpc_ns_binding_export(), which places the binding handles in the name service database for access by any client
- rpc_binding_vector_free(), which frees the vector of server binding handles
- rpc_server_register_if(), which registers with the RPC run-time system those interfaces that the server offers
- rpc_server_listen(), which enables the reception of remote procedure calls.
To selectively register protocol sequences, a server calls the rpc_server_use_protseq(), rpc_server_use_all_protseqs_if(), rpc_server_use_protseq_if() or rpc_server_use_protseq_ep() routines.
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.