Persistent TPI Provider States | |||
---|---|---|---|
State | |||
_ | Description | Service Type | |
Name | Abbreviation | ||
TS_UNBND | sta_0 | unbound | T_COTS, T_COTS_ORD, |
T_CLTS | |||
TS_IDLE | sta_3 | idle - no connection | T_COTS, T_COTS_ORD, |
T_CLTS | |||
TS_WCON_CREQ | sta_6 | awaiting confirmation | T_COTS, T_COTS_ORD |
of T_CONN_REQ | |||
TS_WRES_CIND | sta_7 | awaiting response | T_COTS, T_COTS_ORD |
of T_CONN_IND | |||
TS_DATA_XFER | sta_9 | data transfer | T_COTS, T_COTS_ORD |
TS_WIND_ORDREL | sta_10 | awaiting T_ORDREL_IND | T_COTS_ORD |
TS_WREQ_ORDREL | sta_11 | awaiting T_ORDREL_REQ | T_COTS_ORD |
Transitional TPI Provider States | |||
State | |||
_ | Description | Service Type | |
Name | Abbreviation | ||
TS_WACK_BREQ | sta_1 | awaiting acknowledgment | T_COTS, T_COTS_ORD, |
of T_BIND_REQ | T_CLTS | ||
TS_WACK_UREQ | sta_2 | awaiting acknowledgment | T_COTS, T_COTS_ORD, |
of T_UNBIND_REQ | |||
TS_WACK_CREQ | sta_5 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_CONN_REQ | |||
TS_WACK_CRES | sta_8 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_CONN_RES | |||
TS_WACK_DREQ6 | sta_12 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_DISCON_REQ | |||
from sta_6 | |||
TS_WACK_DREQ7 | sta_13 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_DISCON_REQ | |||
from sta_7 | |||
TS_WACK_DREQ9 | sta_14 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_DISCON_REQ | |||
from sta_9 | |||
TS_WACK_DREQ10 | sta_15 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_DISCON_REQ | |||
from sta_10 | |||
TS_WACK_DREQ11 | sta_16 | awaiting acknowledgment | T_COTS, T_COTS_ORD |
of T_DISCON_REQ | |||
from sta_11 |
Variable | Description | ||
---|---|---|---|
q | queue pair pointer of current stream | ||
rq | queue pair pointer of responding stream
as described in the T_CONN_RES primitive
outcnt
| counter for the number of outstanding
connection indications not responded to
by the transport user, outcnt is zero in all states except
TS_WRES_CIND
| |
EVENT | DESCRIPTION | SERVICE TYPE |
---|---|---|
bind_req | bind request | T_COTS, T_COTS_ORD, T_CLTS |
unbind_req | unbind request | T_COTS, T_COTS_ORD, T_CLTS |
optmgmt_req | options mgmt request | T_COTS, T_COTS_ORD, T_CLTS |
conn_req | connection request | T_COTS, T_COTS_ORD |
conn_res1 | connection response | T_COTS, T_COTS_ORD |
outcnt == 1, q == rq | ||
conn_res2 | connection response | T_COTS, T_COTS_ORD |
outcnt == 1, q | = rq | |
conn_res3 | connection response | T_COTS, T_COTS_ORD |
outcnt > 1, q | = rq | |
discon_req1 | disconnect request | T_COTS, T_COTS_ORD |
outcnt <= 1 | ||
discon_req2 | disconnect request | T_COTS, T_COTS_ORD |
outcnt > 1 | ||
data_req | data request | T_COTS, T_COTS_ORD |
exdata_req | expedited data request | T_COTS, T_COTS_ORD |
optdata_req | data request with options | T_COTS, T_COTS_ORD |
ordrel_req | orderly release request | T_COTS_ORD |
unitdata_req | unitdata request | T_CLTS |
The bind_req, unbind_req optmgmt_req, conn_req, conn_res1-3 and discon_req1-2 events include the generation of the corresponding acknowlegement message. If the request from the user is incorrect then a T_ERROR_ACK primitive is sent upstream and no state transition takes place.
EVENT | DESCRIPTION | SERVICE TYPE |
---|---|---|
conn_ind | connection indication | T_COTS, T_COTS_ORD |
conn_con | connection confirmation | T_COTS, T_COTS_ORD |
data_ind | data indication | T_COTS, T_COTS_ORD |
exdata_ind | expedited data indication | T_COTS, T_COTS_ORD |
optdata_ind | data indication with options | T_COTS, T_COTS_ORD |
ordrel_ind | orderly release indication | T_COTS_ORD |
discon_ind1 | disconnect indication | T_COTS, T_COTS_ORD |
outcnt == 0 | ||
discon_ind2 | disconnect indication | T_COTS, T_COTS_ORD |
outcnt == 1 | ||
discon_ind3 | disconnect indication | T_COTS, T_COTS_ORD |
outcnt > 1 | ||
pass_conn | pass connection | T_COTS, T_COTS_ORD |
unitdata_ind | unitdata indication | T_CLTS |
uderror_ind | unitdata error indication | T_CLTS |
The contents of each box represent the next state, given the current state (column) and the current incoming or outgoing event (row). An empty box represents a state/event combination that is invalid. Along with the next state, each box may include an action. The transport provider must take the specific actions in the order specified in the state table.
STATE | |||||
---|---|---|---|---|---|
TS_UNBND | TS_IDLE | ||||
EVENT | sta_0 | sta_3 | |||
bind_req | sta_3 (1) | ||||
unbind_req | sta_0 (3) [1]
optmgmt_req
| sta_0 (4)
| sta_3 (4)
| |
sta_0, sta_3, are convenient abbreviations for different states - see
STATE | |||||||
---|---|---|---|---|---|---|---|
_ | |||||||
TS_ | TS_ | TS_ | TS_ | TS_ | TS_ | TS_ | |
UNBND | IDLE | WCON_ | WRES_ | DATA_ | WIND_ | WREQ_ | |
CREQ | CIND | XFER | ORDREL | ORDREL | |||
EVENT | sta_0 | sta_3 | sta_6 | sta_7 | sta_9 | sta_10 | sta_11 |
conn_req | sta_6 (5) | ||||||
conn_res1 | sta_9 (8) [3] | ||||||
conn_res2 | sta_3 (8) [3] [4] | ||||||
conn_res3 | sta_7 (8) [3] [4] | ||||||
discon_req1 | sta_3 (12) | sta_3 (13) | sta_3 (14) | sta_3 (15) | sta_3 (16) | ||
discon_req2 | sta_7 (13) | ||||||
data_req | sta_3 [5] | sta_9 | sta_11 | ||||
exdata_req | sta_3 [5] | sta_9 | sta_11 | ||||
**ordrel_req | sta_3 [5] | sta_10 | sta_3 | ||||
conn_ind | sta_7 [2] | sta_7 [2] | |||||
conn_con | sta_9 | ||||||
data_ind | sta_9 | sta_10 | |||||
exdata_ind | sta_9 | sta_10 | |||||
**ordrel_ind | sta_11 | sta_3 | |||||
discon_ind1 | sta_3 | sta_3 | sta_3 | sta_3 | |||
discon_ind2 | sta_3 [3] | ||||||
discon_ind3 | sta_7 [3] | ||||||
optmgmt_req | sta_0 (4) | sta_3 (4) | sta_6 (4) | sta_7 (4) | sta_9 (4) | sta_10 (4) | sta_11 (4) |
pass_conn | sta_9 | sta_9 |
sta_0, sta_3, etc. are convenient abbreviations for different states - see
EVENT | STATE |
---|---|
unitdata_req | TS_IDLE |
unitdata_ind | TS_IDLE |
uderror_ind | TS_IDLE |
optmgmt_req | TS_IDLE |
[??] Some characters or strings that appear in the printed document are not easily representable using HTML.
Contents | Next section | Index |