Horizon conversation states and statements

From m204wiki
Jump to: navigation, search

Overview

The communication statements (verbs) that an application program may issue at any given point in the conversation depend upon the current state of the conversation. The Model 204 Horizon conversation states are described briefly below. Statement and state dependencies lists the Horizon statements that can be issued in each state.

Conversation states

The following conversation states are used in Horizon:

Reset The application program may allocate a conversation (open a process).
Send The application program may send data, request confirmation, or (stop sending and) receive data.
Receive The application program may receive data from the partner application program or request permission to send.
Confirm The application program may comply with the request for confirmation. (It may also request permission to send later, after the confirmation.)
Close The application program may deallocate the conversation (close the process) with the remote application program.

Conversation Statement/State Dependencies

The matrix in the following table lists the Horizon statements that can be issued in a given conversation state.

  • "No" means that a state check is incurred because the statement is not valid in that state. State checks are issued only when a process is already open.
  • The dashes in the matrix mean that some error other than a state check is incurred.
  • N/A's (not applicable) are entered for TEST RECEIPT and WAIT FOR RECEIPT because they are not state dependent.
Statement and state dependencies
Reset Send Receive Confirm Close
OPEN PROCESS Yes - - -
CONFIRM - Yes No No
CONFIRMED - No No Yes
CLOSE PROCESS - Yes Yes Yes
FLUSH - Yes No No
INVITE - Yes No No
QUERY PROCESS Yes Yes Yes Yes
RECEIVE - Yes Yes No
SIGNAL - No Yes Yes
SEND - Yes No No
SEND ERROR - Yes Yes Yes
TEST RECEIPT N/A N/A N/A N/A
WAIT FOR RECEIPT N/A N/A N/A N/A