Handling Exception Requests

Both the RUI and SLI monitor the state of several protocols and validate the format of RUs. When the interface detects an improper RU coming from the primary logical unit (PLU), it must issue a negative response. LUA notifies your application of this detected error by formatting the incoming RU as an exception request (EXR). An EXR is delivered to your program on either a bid verb (RUI_BID or SLI_BID) or on an input verb (RUI_READ or SLI_RECEIVE). An EXR is indicated by the following conditions in the request header (RH):
  • lua_rh.rri set to 0 (RU is a request unit)
  • lua_rh.sdi set to 1 (sense data included)

This is an abnormal combination of RH bits. Sense data is normally the contents of a response RU, not a request RU. LUA uses this abnormal combination to alert your program to the abnormal fact that the PLU has apparently made an error. A 4-byte sense code is part of the EXR; it specifies the error detected. In addition to the sense data, LUA returns up to three bytes of the original RU.