Exception Response Requests (RQEs)

In most cases, LUA can correlate requests and responses automatically, without any help from your program. LUA observes the request and response RUs as they flow in the session. LUA can tell when a request needs a response, and when the response has been sent. However, there is one case in which LUA cannot tell if a response will be sent, and your program must tell it.

Bit fields in the RH of a request specify whether a response is mandatory, not wanted, or optional. When no response is wanted, LUA need not store the request number in its correlation table. A mandatory response must be sent as the next message on that flow. LUA enters the message in the correlation table, but it will quickly be cleared because the response must come next.

The error response indicator (ERI) in the RH specifies that a response is optional, required only if the receiving LU cannot accept or process the RU. This optional-response RU is called an exception response request (abbreviated RQE). LUA cannot always manage its correlation table automatically in the presence of RQEs. Table Clearing of RQEs summarizes the instances in which LUA can clear a received RQE automatically from its correlation table, and those in which LUA must wait for a signal from the application before clearing a received RQE.

Table 1. Clearing of RQEs

Immediate Response Mode Delayed Response Mode
Verbs HDX FDX HDX FDX
RUI_READ Automatic Automatic Application response Application response
RUI_WRITE Automatic Application response Application response Application response

In immediate response mode on either an HDX or FDX session, LUA can discard the number of an RQE as soon as the application requests input (uses RUI_READ), because, in immediate response mode, a response must be sent before another request can be issued. Also, in immediate response mode on an HDX connection, LUA can discard the number of an RQE as soon as the application requests output (uses RUI_WRITE)—because the output will either be the RQE response, or no response is going to be sent.

In all other instances, LUA cannot be sure whether a response to the RQE will be produced. The application must format and send a positive response to an RQE, not for the benefit of the PLU (which wants only negative responses) but to inform LUA that the RQE was accepted and will not be generating a negative response.

LUA can then clear the RQE from its table. Because the response is a positive one and the PLU wanted only negative ones, LUA does not transmit the application's response on the network.

In short, simply to assist LUA, your application must treat received RQE RUs as if they were definite-response RUs.