TS/MP Pathsend and Server Programming Manual (H06.05+, J06.03+)

When the one-transaction-per-dialog model is used, the current TMF transaction, if any, is
automatically aborted when the server returns an error value (FEEOF, or any other value besides
FEOK or FEContinue) in the reply. When the any-transaction-perdialog model is used (when bit
14 of the dialog flags is equal to 1), no automatic transaction abort occurs. In either case, the
requester should abort the transaction when it receives an error reply.
If the server is shut down by the operator:
For dialogs that currently have an I/O operation outstanding, the I/O operation is first
completed, and action is then taken depending on the error value returned:
If the I/O operation is completed with an error value of FEOK (0), then the FEOK value
is passed back to the requester along with all user data.
If the I/O operation is completed with an error value of FEContinue (70), the requester
receives error 233, FEScError, and SERVERCLASS_SEND_INFO_ returns Pathsend error
929, FEScDialogAborted. No user data is passed back to the requester.
If the I/O operation is completed with any other file-system error, the requester receives
error 233, FEScError, and SERVERCLASS_SEND_INFO_ returns the file-system error that
occurred. No user data is passed back to the requester.
After completion of the I/O operation, the dialog is aborted and the LINKMON process or
the ACS subsystem processes close the server process. The server process should interpret the
close operation as a dialog abort.
For dialogs that have no I/O operation outstanding, the dialog is aborted and the LINKMON
process or the ACS subsystem processes close the server process. The server process should
interpret the close operation as a dialog abort.
When writing requesters as process pairs with or without the TMF subsystem, note that it is not
possible to checkpoint dialogs. The dialog and the transaction, if any, are aborted when the
requester fails.
ACS Restart Errors
The considerations mentioned in this section apply to the context-sensitive Pathsends in addition to
the considerations described in “Basic Pathsend Programming” (page 52).
A new ROUT process does not identify a dialog initiated with the earlier ROUT process. Therefore,
it returns Pathsend error 926 (invalid dialog). In this case, the application must abort the old dialog
and initiate a new dialog.
Cancellation of Server-Class Send Operations
The requester can explicitly cancel an outstanding server-class send operation if it has used the
nowait option in the Pathsend procedure call and has not yet sensed completion of the server-class
send operation through the AWAITIOX procedure. In this case, the server receives a Pathsend
dialog abort system message (as described in Section 4) even if it has already replied to the last
send operation.
Writing Requesters That Interoperate With NonStop Tuxedo Servers
Pathsend requesters can call on the services of NonStop Tuxedo servers in either of two ways:
Directly, by making calls to the NonStop Tuxedo ATMI functions
Indirectly, by using the Pathway translation server for the NonStop Tuxedo system
60 Writing Pathsend Requesters