GDSX (Extended General Device Support) Manual
Service Routines
Extended General Device Support (GDSX) Manual—529931-001
8-73
^SERVERCLASS_SEND_
server class name, buffer, server class send operation number and the dialog ID
used with this procedure.
^SERVERCLASS_SEND_
This procedure allows USCODE to communicate directly with TS/MP server classes
through LINKMON. See Appendix D, Using Pseudo Procedures in a TS/MP
Environment for an example of using this procedure.
Except for the following considerations, the syntax, condition code settings, and
considerations regarding this procedure are the same as its counterpart in the NonStop
TS/MP Pathsend and Server Programming Manual.
Considerations
•
Because the working stack images of tasks are swapped to and from an extended
data segment during I/O operations, I/O must be performed to and from extended
buffers.
•
When calling ^SERVERCLASS_SEND_ in the waited mode, processing is
returned to the calling USCODE after a reply is received. The reply is sent from
the server within the specified server class.
This calling method causes all TSCODE and USCODE tasks to wait until a reply is
received from the server, which suspends the processing of the GDSX process.
Because of this dramatic reduction in performance, you should avoid calling
^SERVERCLASS_SEND_ in the waited mode. The best alternative is to call
^SERVERCLASS_SEND_ in the nowaited mode.
•
When calling ^SERVERCLASS_SEND_ in the nowaited mode with the
PROCNOWAIT configuration parameter set to 0, TSCODE calls ^AWAITIOX to
complete the I/O, waits for the reply, and then sends the reply to the user task.
Only the user task that called ^SERVERCLASS_SEND_ waits for the reply. All
other user tasks continue processing.
In this case, the value of the actual-reply-len parameter of
^SERVERCLASS_SEND is returned if you provided this parameter. See the
NonStop TS/MP Pathsend and Server Programming Manual for more information.
•
When calling ^SERVERCLASS_SEND_ in the nowaited mode with the
PROCNOWAIT configuration parameter set to 1, USCODE must call ^AWAITIOX
instead of ^AWAITIO to complete the I/O. Do not use WAIT^EVENT and ^LISTEN
to complete the I/O.
Calling ^SERVERCLASS_SEND_ in the nowaited mode allows USCODE to
continue processing while ^SERVERCLASS_SEND_ is executing.
•
A trace record is written before and after a successful call to
^SERVERCLASS_SEND_ in the waited mode if bit 3 of trace^control^flags in
DCCBDECS is set to 1. (When ^SERVERCLASS_SEND_ is called in the
nowaited mode, no trace record is written for the reply from the server.) The trace