HP-UX SNAplus2 R7 APPC Programmer's Guide

Concepts
Full-Duplex Conversations
1.6.2 Changing to Receive State
The MC_PREPARE_TO_RECEIVE verb enables a TP to change the conversation from Send to Receive state. This
verb does the following:
Flushes the local LUs send buffer.
Sends the
AP_CONFIRM_SEND
indicator to the partner TP through the
what_rcvd parameter of a receive verb.
This indicator tells the partner TP that an MC_CONFIRMED response is expected before the partner TP can
begin to send data.
Performs conrmation processing because the following conditions are true:
The synchronization level of the conversation is set to
AP_CONFIRM_SYNC_LEVEL.
The parameter ptr_type is set to AP_SYNC_LEVEL.
Issuing the MC_RECEIVE_AND_WAIT verb while the conversation is in Send state also ushes the LUs send
buffer and changes the conversation state to Receive. Changing the conversation state in this manner does not
support conrmation processing.
1.6.3 Changing to Send State
The MC_REQUEST_TO_SEND verb informs the partner TP (for which the conversation is in Send state) that the
local TP (for which the conversation is in Receive state) wants to send data.
This request is communicated to the partner TP through the rts_rcvd parameter of the MC_CONFIRM verb. (The
rts_rcvd parameter is also returned to MC_SEND_DATA and other verbs.)
When the partner TP issues the MC_PREPARE_TO_RECEIVE verb, the conversation state changes to Receive for
the partner TP, making it possible for the local TP to send data.
Issuing the MC_REQUEST_TO_SEND verb does not change the state of the conversation. Upon receiving a request
to send, the partner TP is not required to change the conversation state; it can ignore the request.
1.7 Full-Duplex Conversations
Table 15, A Full-Duplex Conversation shows an example of a full-duplex conversation, showing the APPC verbs
used to start a conversation, exchange data, and end the conversation. The arrow indicates the ow of data. All
primary_rc values are AP_OK
unless shown otherwise.
Table 15 A Full-Duplex Conversation
Invoking TP Flow Invoked TP
TP_STARTED
MC_ALLOCATE
MC_SEND_DATA
RECEIVE_ALLOCATE
MC_SEND_DATA >
< MC_SEND_DATA
MC_RECEIVE_AND_WAIT
(what_rcvd =
AP_DATA_COMPLETE)
MC_DEALLOCATE
33