3.7.5.1.2.1.1 Receiving a PARTNERTM_BRANCH_MTAG_BRANCHING Message
When the superior transaction manager receives a PARTNERTM_BRANCH_MTAG_BRANCHING message, the superior transaction manager MUST perform the following actions:
If the connection state is Idle:
Set the connection state to Branching.
Find the transaction object in the transaction table of the transaction manager using the guidTx field from the message as the key.
If a transaction object is found:
Create a new Enlistment object with the following values:
The transaction object
The connection object
Set the enlistment field of the connection to the new Enlistment object.
Signal the Create Subordinate Enlistment event on the Core Transaction Manager Facet with the new Enlistment object.
Otherwise:
Send a PARTNERTM_BRANCH_MTAG_BRANCH_TX_NOT_FOUND message using the connection.
Set the connection state to Ended.
Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.