SNAX/HLS Application Programming Manual
Life Cycle of a Session
Sessions
104707 Tandem Computers Incorporated 3–5
A send queue is also maintained for each LU. Verbs that result in data transmission
are queued on this queue for serial execution. Thus, a SEND–DATA verb is queued
behind a currently executing SEND–DATA verb. However, responses that must be
sent are not queued; they are sent without queuing. Note that a
RECEIVE–DATA verb (on a different queue) does not block the execution of any
SEND–DATA verb.
For increased performance, a SEND–AND–RECEIVE–DATA verb is supported. This
verb operates like a SEND–DATA verb immediately followed by a RECEIVE–DATA
verb. However, only one interprocess communication is required for execution of this
verb. Note that no SEND–AND–RECEIVE–DATA–REPLY is defined. All replies
carry the verb code of SEND–DATA, or one of the replies defined for RECEIVE–
DATA.
The unit sent and received by each verb is a message (SNA chains). To allow for long
messages, a LARGE–MESSAGE–OPTION (LMO) is provided, which permits the
application to control where the end–of–message indicators are set. Several
restrictions exist with the use of this option, explained below under
“LARGE–MESSAGE–OPTION.”
The intended purpose for LMO verb operation is to allow SNA messages of arbitrary
length to be received and/or sent by SNAX/HLS transaction programs. One example
where this is a requirement is downloading control programs to programmable IBM
terminal controllers (for example, 3624).
The application program can also ask for notification that messages sent have been
received by the partner LU. This is allowed only if the session protocol, as defined in
the BIND image, permits.
The RECEIVE–DATA or RECEIVE–CONTROL–WAIT verb is the general mechanism
used when the application wishes to ask the question “What happened?” The
response to the verb can indicate one of three events:
Data Acknowledgement—The data acknowledgement occurs when you have
previously sent a message with the SEND–DATA or
SEND–AND–RECEIVE–DATA verbs and have either asked for notification or
your partner has sent a negative response. The acknowledgement thus confirms
that your partner has received and responded to the data. You can expect one of
two return codes:
RC–NOTIFICATION, implying that your partner responded positively, or
RC–REQUEST–REJECT, implying that your partner responded negatively.
Queued Operation Completion—A queued operation completion notice signals
the completion of a verb originally issued with the queued completion mode, or
one whose normal termination was interrupted. This interrupt feature is available
using Pathway. In either event, the verb was already completed with the
completion RC–FORTHCOMING, implying that this queued operation completion
notice was due.