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 LU’s 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 confirmation 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 flushes the LU’s send
buffer and changes the conversation state to Receive. Changing the conversation state in this manner does not
support confirmation 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 1–5, 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 flow of data. All
primary_rc values are AP_OK
unless shown otherwise.
Table 1–5 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