TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)

Pathsend Procedure Call Reference
NonStop TS/MP Pathsend and Server Programming Manual132500
5-27
Timeout Considerations for Pathsend Programming
Timeout Considerations for Pathsend Programming
When you design a Pathsend application, you can decide which of two timeout methods
that you want the LINKMON process to use:
A server TIMEOUT attribute that applies only to the server process I/O
A SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or
SERVERCLASS_DIALOG_SEND_ parameter value that applies to the entire
processing of the send request
Because the errors for each are different, programs can differentiate between the two
kinds of timeout.
Server Timeout
You can specify a TIMEOUT attribute for your Pathway servers. You specify the server
TIMEOUT value when you configure the server. If a timeout occurs during an I/O
operation to a server, the I/O operation is canceled and any TMF transaction is aborted.
Unlike the timeout parameter to a SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_ call,
described in the following subsection, the TIMEOUT attribute does not include waiting
for the server link; the TIMEOUT attribute applies only to the I/O to the server.
Server timeout returns Pathsend error 904 (FEScServerLinkConnect) and file-system
error 40 (FETimedOut).
Server-Class Send Timeout
Pathsend allows you to specify a timeout value on calls to SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, and SERVERCLASS_DIALOG_SEND_. You
can specify a different timeout value for each call. For example, if you perform
SERVERCLASS_SEND_ calls to local and remote systems, you can specify a shorter
timeout value for the local sends and a longer value for the remote send operations.
Within a dialog, if flags.<14> was set to 0 in the call to
SERVERCLASS_DIALOG_BEGIN_ and a timeout occurs, both the dialog and the
transaction (if any) are automatically aborted.
If a waited SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or
SERVERCLASS_DIALOG_SEND_ request is not completed before the specified
timeout value expires, it is completed with return error 233 (FEScError), and a
subsequent call to SERVERCLASS_SEND_INFO_ returns Pathsend error 918
(FeScSendOperationAborted) and file-system error 40 (FETimedOut). If there is an
outstanding I/O operation to a server process when a SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_
operation times out, that I/O operation is canceled and the transaction, if any, is
automatically aborted.