State Tables
The state tables describe the XTI/TLI state transitions. Each box contains the next state, given the current state (column) and the current event (row). An empty box is an invalid state/event combination. Each box can also have an action list. Actions must be done in the order specified in the box.
You should understand the following when studying the state tables:
-
t_close
() terminates an established connection for a connection-oriented transport provider. The connection termination might be orderly, depending on the service type supported by the transport provider. For more information, see thet_getinfo
(3C) andt_close
(3C) man pages. -
If a transport user issues a interface call out of sequence, the interface fails and
t_errno
is set toTOUTSTATE
. The state does not change. -
The error codes
TLOOK
orTNODATA
aftert_connect
() can result in state changes. The state tables assume correct use of XTI/TLI. -
Any other transport error does not change the state, unless the man page for the interface says otherwise.
-
The support interfaces
t_getinfo
(),t_getstate
(),t_alloc
(),t_free
(),t_sync
(),t_look
(), andt_error
() are excluded from the state tables because they do not affect the state.
Some of the state transitions listed in the following tables offer actions the transport user must take. Each action is represented by a digit derived from the following list:
-
Set the count of outstanding connect requests to zero
-
Increment the count of outstanding connect requests
-
Decrement the count of outstanding connect requests
-
Pass a connection to another transport endpoint, as indicated in the
t_accept
() state
The following table shows endpoint establishment states.
Table 8-4 Connection Establishment State
Event/State | T_UNINIT | T_UNBND | T_IDLE |
---|---|---|---|
|
|
||
|
|
||
|
|
||
|
|
||
|
|
The following table shows data transfer in connection mode.
Table 8-5 Connection Mode State: Part 1
Event/State | T_IDLE | T_OUTCON | T_INCON | T_DATAXFER |
---|---|---|---|---|
|
|
|||
|
|
|||
|
|
|||
|
|
|
||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|
|
|
|
|
|||
|
|
|
||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|
|
|
|
|
|
|
|
The following table shows connection establishment/connection release/data transfer in connection mode.
Table 8-6 Connection Mode State: Part 2
Event/State | T_OUTREL | T_INREL | T_UNBND |
---|---|---|---|
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
||
|
|
||
|
|
|
|
|
|||
|
|
|
|
|
|||
|
|||
|
|
||
|
|
||
|
|
||
|
|
|
|
|
|
|
The following table shows connectionless mode states.
Table 8-7 Connectionless Mode State
Event/State | T_IDLE |
---|---|
|
|
|
|
|
|