OSF DCE Application Development Guide--Core Components
OSF DCE Application Development Guide—Core Components
Figure 16-6. A Request Buffer at Full Capacity
request
call request maximum = 5
Rejected
Request buffer −−
(connection
refused;
datagram
timed out)
12345
6
System
16.6.3 Queuing Incoming Calls
Each server process uses a first-in, first-out call queue. When the server is already
executing its maximum number of concurrent calls, it uses the queue to hold incoming
calls. The capacity of queues for incoming calls is implementation dependent; most
implementations offer a small queue capacity, which may be a multiple of the maximum
number of concurrently executing calls.
A call is rejected if the call queue is full. The appearance of the rejected call depends on
the RPC protocol the call is using, as follows:
• Connectionless (datagram) protocol
The server does not notify the client about this failure. The call fails as if the server
does not exist, returning an rpc_s_comm_failure communications status code
(rpc_x_comm_failure exception).
• Connection-oriented protocol
The server rejects the call with an rpc_s_server_too_busy communications status
code (rpc_x_server_too_busy exception).
The server process routes each incoming call as it arrives. Call routing is illustrated by
the server in Figure 16-7. This server has the capacity to execute only one call
concurrently. Its call queue has a capacity of eight calls. This figure consists of four
stages (A through D) of call routing by a server process. On receiving any incoming
call, the server begins by looking at the call queue.
16 − 42 Tandem Computers Incorporated 124245