Previous Topic: Design GuidelinesNext Topic: Conversation States


Understanding Conversation States

You must be aware of conversation states when you are developing a cooperative application. Whenever a dialog is involved in a conversation, it is in a specific conversation state. The state determines which communication operations can be performed at that time. For example, a dialog must be in send state to send data; and the partner dialog must be in receive state to receive data. You must keep both dialogs synchronized to allow information to be exchanged.

Valid Conversation States

State

What it means

Reset

No conversation exists

Send

The dialog can send data, request confirmation, or deallocate the conversation

Receive

The dialog can receive information from its partner dialog.

Confirm

The dialog can reply to a confirmation request (there are three types of confirm state, based on the state of the dialog after a communication command is issued)

Deallocate

The dialog can deallocate the conversation

Confirmation

The use of confirmation is optional. The primary program can request confirmation at the beginning of the session. If confirmation is used, the sending program can issue a CONFIRM command to which the recipient must respond CONFIRMED or SEND-ERROR. You can acknowledge the receipt of data programmatically if you prefer.