|
|
This appendix lists and describes all of the state transitions that may occur at an endpoint. It includes these sections:
A machine-readable endpoint state transition table is interpreted by API routines to manage a state variable maintained for each endpoint. This state variable is used to control the execution sequence of API service functions. The state variable can be read with the TSTATE function, and is returned as part of a state word defined by the TSW dsect.
These nine endpoint states are defined:
| TSCLOSED | Closed |
| TSOPENED | Opened |
| TSDSABLD | Disabled |
| TSENABLD | Enabled |
| TSINCONN | Connect indication pending |
| TSOUCONN | Connect in progress (awaiting confirm indication) |
| TSCONNCT | Connected (or associated) |
| TSINRLSE | Release indication pending |
| TSOURLSE | Release in progress (awaiting release indication) |
Each table includes the same event state information in the EVENT columns, and three of the nine endpoint states in the CURRENT STATE columns.
Each event listed in the state table consists of the successful completion of a particular API service function, and various conditions that were in effect during its execution. Conditions listed in uppercase represent parameters or option codes provided with the service request. Conditions listed in lowercase apply to internal variables maintained by the API. Each event also lists the service type that must be in effect for the endpoint.
These are the variables:
| qlstn | The negotiated size of the connect indication queue specified by the QLSTN parameter in a successful TBIND request. |
| count | The number of pending connect indications. |
1 - Connectionless Transport Service (CLTS) service mode is valid only when using associations. TYPE=(CLTS,ASSOC) must have been specified when the endpoint was opened.
2 - Connection-Oriented Transport Service (COTS) service mode is valid only when orderly release is supported by the transport provider. TYPE=(COTS,ORDREL) must have been specified when the endpoint was opened.
3 - Control of the endpoint is passed to another task or address space. On completion of TOPEN, the state of the new endpoint is the same as the state of the old endpoint before it was closed.
4 - This event represents the state transition for the endpoint to which a connection is accepted when the endpoint is different from the one receiving the connect indication.
5 - The number of pending connect indications is incremented by one.
6 - The number of pending connect indications is decremented by one.
This table lists the endpoint states for the TSCLOSED, TSOPENED, and TSDSABLED states:
| Event | Current State: | ||||
|---|---|---|---|---|---|
| Function | Conditions | Service Type | TSCLOSED | TSOPENED | TSDSABLD |
| TACCEPT | count=1, NEWEP=EP | COTS, CLTS, 1 | |||
| count=1, NEWEP=EP | COTS, CLTS, 1 | ||||
| count>1, NEWEP=EP | COTS, CLTS, 1 | ||||
| 4 | COTS, CLTS, 1 | TSCONNCT | |||
| TADDR | OPTCD=LOCAL | COTS, CLTS | TSDSABLD | ||
| OPTCD=REMOTE | COTS, CLTS | ||||
| TBIND | QLSTN=0 | COTS, CLTS | TSDSABLD | ||
| QLSTN>0 | COTS, CLTS | TSENABLD | TSENABLD | ||
| TCLEAR | qlstn=0 | COTS, CLTS, 1 | |||
| qlstn>0, count=0 | COTS, CLTS, 1 | ||||
| qlstn>0, count=1 | COTS, CLTS, 1 | ||||
| qlstn>0, count>1 | COTS, CLTS, 1 | ||||
| TCLOSE | OPTCD=DELETE | COTS, CLTS | TSCLOSED | TSCLOSED | |
| OPTCD=PASS | COTS, CLTS | 3 | 3 | ||
| TCONFIRM | COTS, CLTS, 1 | ||||
| TCONNECT | COTS, CLTS, 1 | TSOUCONN | |||
| TDISCONN | qlstn=0 | COTS, CLTS, 1 | |||
| qlstn>0 | COTS, CLTS, 1 | ||||
| TINFO | COTS, CLTS | TSOPENED | TSDSABLD | ||
| TLISTEN | count<qlstn | COTS, CLTS, 1 | |||
| TOPEN | OPTCD=NEW | COTS, CLTS | TSOPENED | ||
| OPTCD=OLD | COTS, CLTS | 3 | |||
| TOPTION | COTS, CLTS | TSOPENED | TSDSABLD | ||
| TRECV | COTS, CLTS, 1 | ||||
| TRECVERR | CLTS | TSDSABLD | |||
| TRECVFR | CLTS | TSDSABLD | |||
| TREJECT | count=1 | COTS, CLTS, 1 | |||
| count>1 | COTS, CLTS, 1 | ||||
| TRELACK | qlstn=0 | COTS, 2 | |||
| qlstn>0 | COTS, 2 | ||||
| TRELEASE | qlstn=0 | COTS, 2 | |||
| qlstn>0 | COTS, 2 | ||||
| TRETRACT | COTS, CLTS, 1 | ||||
| TSEND | COTS, CLTS, 1 | ||||
| TSENDTO | CLTS | TSDSABLD | |||
| TUNBIND | COTS, CLTS | TSOPENED | |||
| TUSER | COTS, CLTS | TSOPENED | TSDSABLD | ||
This table lists the endpoint states for the TSENABLD, TSINCONN, and TSOUCONN states:
| Event | Current State: | ||||
|---|---|---|---|---|---|
| Function | Conditions | Service Type | TSENABLD | TSINCONN | TSOUCONN |
| TACCEPT | count=1, NEWEP=EP | COTS, CLTS, 1 | TSCONNCT, 6 | ||
| count=1, NEWEP=EP | COTS, CLTS, 1 | TSENABLD, 6 | |||
| count>1, NEWEP=EP | COTS, CLTS, 1 | TSINCONN, 6 | |||
| 4 | COTS, CLTS, 1 | ||||
| TADDR | OPTCD=LOCAL | COTS, CLTS | TSENABLD | TSINCONN | TSOUCONN |
| OPTCD=REMOTE | COTS, CLTS | ||||
| TBIND | QLSTN=0 | COTS, CLTS | |||
| QLSTN>0 | COTS, CLTS | ||||
| TCLEAR | qlstn=0 | COTS, CLTS, 1 | TSDSABLD | ||
| qlstn>0, count=0 | COTS, CLTS, 1 | ||||
| qlstn>0, count=1 | COTS, CLTS, 1 | TSENABLD, 6 | |||
| qlstn>0, count>1 | COTS, CLTS, 1 | TSINCONN, 6 | |||
| TCLOSE | OPTCD=DELETE | COTS, CLTS | TSCLOSED | TSCLOSED | TSCLOSED |
| OPTCD=PASS | COTS, CLTS | 3 | |||
| TCONFIRM | COTS, CLTS, 1 | TSCONNCT | |||
| TCONNECT | COTS, CLTS, 1 | ||||
| TDISCONN | qlstn=0 | COTS, CLTS, 1 | TSDSABLD | ||
| qlstn>0 | COTS, CLTS, 1 | ||||
| TINFO | COTS, CLTS | TSENABLD | TSINCON | TSOUCONN | |
| TLISTEN | count<qlstn | COTS, CLTS, 1 | TSINCONN, 5 | TSINCONN, 5 | |
| TOPEN | OPTCD=NEW | COTS, CLTS | |||
| OPTCD=OLD | COTS, CLTS | ||||
| TOPTION | COTS, CLTS | TSENABLD | |||
| TRECV | COTS, CLTS, 1 | ||||
| TRECVERR | CLTS | ||||
| TRECVFR | CLTS | ||||
| TREJECT | count=1 | COTS, CLTS, 1 | TSENABLD, 6 | ||
| count>1 | COTS, CLTS, 1 | TSINCONN, 6 | |||
| TRELACK | qlstn=0 | COTS, 2 | |||
| qlstn>0 | COTS, 2 | ||||
| TRELEASE | qlstn=0 | COTS, 2 | |||
| qlstn>0 | COTS, 2 | ||||
| TRETRACT | COTS, CLTS, 1 | TSENABLD | TSINCONN | ||
| TSEND | COTS, CLTS, 1 | ||||
| TSENDTO | CLTS | ||||
| TUNBIND | COTS, CLTS | TSOPENED | |||
| TUSER | COTS, CLTS | TSENABLD | |||
This table lists the endpoint states for the TSCONNCT, TSINRLSE, and TSOURLSE states:
| Event | Current State: | ||||
|---|---|---|---|---|---|
| Function | Conditions | Service Type | TSCONNCT | TSINRLSE | TSOURLSE |
| TACCEPT | count=1, NEWEP=EP | COTS, CLTS, 1 | |||
| count=1, NEWEP=EP | COTS, CLTS, 1 | ||||
| count>1, NEWEP=EP | COTS, CLTS, 1 | ||||
| 4 | COTS, CLTS, 1 | ||||
| TADDR | OPTCD=LOCAL | COTS, CLTS | TSCONNCT | TSINRLSE | TSOURLSE |
| OPTCD=REMOTE | COTS, CLTS | TSCONNCT | TSINRLSE | TSOURLSE | |
| TBIND | QLSTN=0 | COTS, CLTS | |||
| QLSTN>0 | COTS, CLTS | ||||
| TCLEAR | qlstn=0 | COTS, CLTS, 1 | TSDSABLD | TSDSABLD | TSDSABLD |
| qlstn>0, count=0 | COTS, CLTS, 1 | TSENABLD | TSENABLD | TSENABLD | |
| qlstn>0, count=1 | COTS, CLTS, 1 | ||||
| qlstn>0, count>1 | COTS, CLTS, 1 | ||||
| TCLOSE | OPTCD=DELETE | COTS, CLTS | TSCLOSED | TSCLOSED | TSCLOSED |
| OPTCD=PASS | COTS, CLTS | 3 | |||
| TCONFIRM | COTS, CLTS, 1 | ||||
| TCONNECT | COTS, CLTS, 1 | ||||
| TDISCONN | qlstn=0 | COTS, CLTS, 1 | TSDSABLD | TSDSABLD | TSDSABLD |
| qlstn>0 | COTS, CLTS, 1 | TSENABLD | TSENABLD | TSENABLD | |
| TINFO | COTS, CLTS | TSCONNCT | TSINRLSE | TSOURLSE | |
| TLISTEN | count<qlstn | COTS, CLTS, 1 | |||
| TOPEN | OPTCD=NEW | COTS, CLTS | |||
| OPTCD=OLD | COTS, CLTS | ||||
| TOPTION | COTS, CLTS | TSCONNCT | |||
| TRECV | COTS, CLTS, 1 | TSCONNCT | TSOURLSE | ||
| TRECVERR | CLTS | ||||
| TRECVFR | CLTS | ||||
| TREJECT | count=1 | COTS, CLTS, 1 | |||
| count>1 | COTS, CLTS, 1 | ||||
| TRELACK | qlstn=0 | COTS, 2 | TSINRLSE | TSDSABLD | |
| qlstn>0 | COTS, 2 | TSINRLSE | TSENABLD | ||
| TRELEASE | qlstn=0 | COTS, 2 | TSOURLSE | TSDSABLD | |
| qlstn>0 | COTS, 2 | TSOURLSE | TSENABLD | ||
| TRETRACT | COTS, CLTS, 1 | ||||
| TSEND | COTS, CLTS, 1 | TSCONNCT | TSINRLSE | ||
| TSENDTO | CLTS | ||||
| TUNBIND | COTS, CLTS | ||||
| TUSER | COTS, CLTS | TSCONNCT | |||
|
|