Export (0) Print
Expand All

3.3.3 Server Details

The following diagram illustrates the state machine for an RPC connection. The transitions in the following diagram represents received PDUs.

State machine for an RPC connection

Figure 20: State machine for an RPC connection

State

Description

ESTABLISHED

The server has accepted an incoming transport connection.

Wait for SECURE_ALTER_CONTEXT

The server has received a SECURE_BIND_PDU and replied with SECURE_BIND_ACK_PDU. It is ready to receive the SECURE_ALTER_CONTEXT PDUs. On receiving, the server sends back a SECURE_ALTER_CONTEXT_PDU_RESP PDU to the client.

CONTEXT_NEGOTIATED

The server received the last SECURE_ALTER_CONTEXT PDU and replied with the last SECURE_ALTER_CONTEXT PDU response. The server is ready to start receiving REQUEST PDUs or ALTER_CONTEXT PDUs (secure or unsecure) from the client.

Negotiating Security

The server has received a SECURE_ALTER_CONTEXT from the client and replied with a SECURE_ALTER_CONTEXT_RESP.

RECV_PDU

The server has received a request PDU.

DISPATCH

The server is ready to send the response to the client.

Notes on this state machine:

When a state does not show an error transition, these extensions handle errors from this state by closing the connection or sending a bind_nak/fault PDU, as specified in sections 3.3.1.5.2, 3.3.1.5.6, and 3.3.3.5.7.

When concurrent multiplexing is used on a connection, as soon as an independent logical thread of execution makes a transition from RECV_PDU state to DISPATCH, another independent logical thread of execution can make the transition from CONTEXT_NEGOTIATED to RECV_PDU. Only one logical thread of execution is allowed to reside in the RECV_PDU state, but multiple logical threads of execution can be in the DISPATCH state. A client MUST NOT send any request PDU for request N+1 before it sends all request PDUs for request N.

If concurrent multiplexing on a connection is not enabled, a client MUST NOT send any request PDU for request N+1 before it receives all the response PDUs for request N.

Show:
© 2016 Microsoft