HP-UX SNAplus2 R7 APPC Programmer's Guide

Concepts
A Simple Mapped Conversation (half-duplex)
TP can receive data but cannot send it; however, it can send an error indication to the controlling TP, or can
request control of the conversation.
Half-duplex conversations are normally used in the following situations:
When the progress of the conversation depends on the data being transmitted; for example, if the rst TP
sends a request that the second TP must process, and the subsequent operation of both TPs depends on
whether the request is accepted or rejected.
When the rst TP simply sends data to the second TP and does not need to receive a response.
Because control is passed between the two TPs, half-duplex conversations allow the TPs to conrm each stage
of the conversation before continuing. After sending a quantity of data, the rst TP can request conrmation
that the data has been received and processed correctly before it continues. At this point, the second TP may
conrm the data and allow the rst TP to send more, or it may return an error response and then itself take
control of the conversation (for example to provide more details of the error or to return a corrected version
of the data).
Full-duplex
In a full-duplex conversation, both TPs can send data at any time; neither TP is considered to be in control.
Full-duplex conversations are normally used when the data being sent in the two directions is independent,
so that the progress of the conversation does not depend on the data being transmitted. Because neither TP
is considered to be in control of the conversation, conrmation processing is not supported; a TP can send
an error response at any time, but this does not prevent the other TP from continuing to send data.
The TP that allocates the conversation species whether the conversation will operate as a full-duplex or half-duplex
conversation. This choice then applies for the duration of the conversation; you cannot change between full-duplex
and half-duplex operation during the conversation. To issue a verb in a full-duplex conversation, the TP must set
an additional option in the
opext parameter of the verb, as described in Chapter 4, APPC Conversation Verbs.
Not all APPC implementations support full-duplex operation. If the remote TP is using an APPC implementation
other than SNAplus2 that does not support full-duplex operation, the TPs can operate only in half-duplex mode.
The following sections describe the operation of half-duplex conversations. Because full-duplex conversations do
not include the verbs used for conrmation processing and passing control between the TPs, some of the informa-
tion in these sections does not apply to full-duplex conversations. See Section 1.7, Full-Duplex Conversations for
a summary of the operation of a full-duplex conversation.
1.2 A Simple Mapped Conversation (half-duplex)
Table 11, A Simple Mapped Conversation shows an example of a simple mapped 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 11 A Simple Mapped Conversation
Invoking TP Flow Invoked TP
TP_STARTED
MC_ALLOCATE
MC_SEND_DATA
MC_DEALLOCATE
>
TP_ENDED RECEIVE_ALLOCATE
23