3.3.2 Client Details
The following diagram defines the client state machine.
Figure 18: Client state machine
State |
Description |
---|---|
ESTABLISHED |
The client has received a transport connect complete indicating that a new transport connection has been established. |
WAIT for UNSECURE_BIND_ACK |
The client has sent the bind PDU, in case of an unsecure call. |
CONTEXT_NEGOTIATED |
The client is ready to send the request PDU. |
WAIT for SECURE_BIND_ACK |
The client has sent a bind PDU, in case of a secure call. |
WAIT for SECURE_ALTER_CONTEXT_RESP |
The client has sent a SECURE_ALTER_CONTEXT PDU and is waiting for an answer. |
WAIT_RSP |
The client is waiting for a response PDU. |
Notes on this state machine:
When a state does not show an error transition, these extensions handle the error from this state by closing the connection.
When concurrent multiplexing is used on a connection, as soon as an independent logical thread of execution makes a transition from CONTEXT_NEGOTIATED to WAIT_RSP state, another independent logical thread of execution can make the transition from CONTEXT_NEGOTIATED to WAIT_RSP. Only one logical thread of execution is allowed to make this transition at a given time, but multiple logical threads of execution can be in the WAIT_RSP 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.