PreviousNext

rpc_mgmt_set_com_timeout(3rpc)

Sets the communications time-out value in a binding handle

Used by client applications.

Synopsis

#include <dce/rpc.h>

void rpc_mgmt_set_com_timeout(

rpc_binding_handle_t binding,

unsigned32 timeout,

unsigned32 *status);

Parameters

Input

binding
Specifies the server binding handle whose time-out value is set.

timeout
Specifies a communications time-out value.

Output

status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
The rpc_mgmt_set_com_timeout( ) routine resets the communications timeout value in a server binding handle. The timeout value specifies the relative amount of time to spend trying to communicate with the server. Depending on the protocol sequence for the specified binding handle, the timeout value acts only as advice to the RPC runtime.

After the initial relationship is established, subsequent communications for the binding handle cannot revert to less than the default timeouts for the protocol service. This means that after setting a short initial timeout and establishing a connection, calls in progress are not timed out any sooner than the default.

Note that because of differences in underlying transport layers, only the rpc_c_infinite_binding_timeout constant changes binding behavior when rpc_mgmt_set_com_timeout( ) is used with connection-oriented RPC.

The timeout value can be any integer value from 0 (zero) to 10. Note that these values do not represent seconds. They represent a relative amount of time to spend to establish a client/server relationship (a binding).

Constants are provided for certain values in the timeout range. The following table lists the binding timeout values, describing the DCE RPC predefined values that an application can use for the timeout parameter.

Predefined Time-Out Values
Name Value Description
rpc_c_binding_min_timeout 0 Attempts to communicate for the minimum amount of time for the network protocol being used. This value favors response time over correctness in determining whether the server is running.
rpc_c_binding_default_timeout 5 Attempts to communicate for an average amount of time for the network protocol being used. This value gives equal consideration to response time and correctness in determining whether a server is running. This is the default value.
rpc_c_binding_max_timeout 9 Attempts to communicate for the longest finite amount of time for the network protocol being used. This value favors correctness in determining whether a server is running over response time.
rpc_c_binding_infinite_timeout 10 Attempts to communicate forever.
Note that connection-oriented RPC handles the time-out value differently from Datagram RPC. Because connection-oriented RPC is based upon a reliable transport layer, communications time-outs are not as significant as they are under datagram protocol. When rpc_mgmt_set_com_timeout( ) is called on a binding using connection-oriented protocol, only the input argument rpc_c_binding_infinite_timeout changes the binding's behavior. All other values are ignored.

Return Values
No value is returned.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

rpc_s_ok
Success.

rpc_s_invalid_binding
Invalid binding handle.

rpc_s_invalid_timeout
Invalid binding handle.

rpc_s_wrong_kind_of_binding
Wrong kind of binding for operation.

Related Information
Functions: rpc_mgmt_inq_com_timeout(3rpc)