3.8.5.1.2.1.2 Receiving a PARTNERTM_BRANCH_MTAG_BRANCH_LOG_FULL, PARTNERTM_BRANCH_MTAG_BRANCH_NO_MEM, PARTNERTM_BRANCH_MTAG_BRANCH_TOO_LATE, PARTNERTM_BRANCH_MTAG_BRANCH_TOO_MANY, or PARTNERTM_BRANCH_MTAG_BRANCH_TX_NOT_FOUND Message
When the Subordinate Transaction Manager Facet (section 1.3.3.3.5) receives one of these messages, the Subordinate Transaction Manager Facet MUST perform the following actions:
If the connection state is Awaiting Branch Response:
Create an Enlistment object with a reference to the Subordinate Transaction Manager Facet, a reference to this connection, and a reference to the transaction object referenced by this connection.
Signal the Branch Transaction Failure event on the Core Transaction Manager Facet with the following arguments:
The Enlistment object.
The failure code that matches the incoming message:
PARTNERTM_BRANCH_MTAG_BRANCH_LOG_FULL: Log Full Remote
PARTNERTM_BRANCH_MTAG_BRANCH_NO_MEM: No Mem Remote
PARTNERTM_BRANCH_MTAG_BRANCH_TOO_LATE: Too Late
PARTNERTM_BRANCH_MTAG_BRANCH_TOO_MANY: Too Many Remote
PARTNERTM_BRANCH_MTAG_BRANCH_TX_NOT_FOUND: Tx Not Found
Set the connection state to Ended.
Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.