While a session is in the between-bracket state, contention exists. Either the application or the host PLU can attempt to initiate a bracket, as follows:
0x081B if it has already committed resources for an inbound transfer; for example, a terminal operator has begun typing.
0x0814 if it currently cannot begin a bracket but will notify the host when resources become available; for example, a 3270 printer is being used for local copy in between-bracket printer sharing mode. At a later stage when the resources become available, the application should temporarily reserve the resources and send a Status-Control(RTR) to the local node. If the host rejects the RTR, the local node returns a Status-Control(RTR) Negative-Acknowledge-1 response, and the application can release the resources. Otherwise, the host attempts to initiate a bracket that the application must now accept.
The application needs to be aware of one further complication in bracket initiation. All the above cases relate to sessions whose bracket reset state is between-bracket; that is, a state of contention exists, and either half-session can attempt to begin a bracket.
However, the BIND parameters for the session can specify a bracket reset state of in-bracket. Where the bracket reset state is in-bracket, one half-session is considered to have already successfully initiated a bracket. Flip-flop protocols will then apply until a Status-Session(BETB) is received, at which time the session reverts to a contention state and bracket initiation proceeds as described above.
The application must set its bracket state when the PLU connection is opened (that is, on receipt of the Open(PLU) OK Confirm message) and reset it each time the session is reset (that is, after receipt of a Status-Control(CLEAR) Request). The appropriate bracket reset state for the session is supplied to the application in the BICB on the Open(PLU) OK Confirm message.
The following six figures illustrate bracket initiation protocols between the local node and the application and how those protocols relate to the underlying SNA protocols.
In the first illustration, the application initiates a bracket by sending an inbound chain with the BBI application flag set when its state is between-bracket. The application's state is in-bracket until it receives a Status-Session(BETB). (If the application can send RQE chains, a bracket can be opened by sending an RQE chain.)
In the following illustration, the application initiates a bracket by sending a Status-Control(LUSTAT) with the BBI (begin bracket indicator) application flag set when its state is between-bracket. The application's state is in-bracket until it receives a Status-Session(BETB). The LUSTAT can be sent NOACKRQD (that is, RQE) if required.
In the following illustration, the host initiates a bracket by sending BID, which the application accepts. The application's state is in-bracket and the host can send.
In the following illustration, the host PLU initiates a bracket by sending a request with BB (begin bracket), which the application accepts. The application's state is in-bracket, and the host can send.
In the following illustration, the host initiates a bracket by sending an LUSTAT with BB, which the application accepts. The application's state is in-bracket, and the host can send.
In the following illustration, the host and application both attempt to initiate a bracket in between-bracket state; the application rejects the host bids with sense code 0x0813, and the local node delivers the application's data. After sending the data, the application's state is in-bracket, and the application can send.