3.6.5.4.1.1 Receiving a TXUSER_VOTER_MTAG_CREATE Message

When the transaction manager communicating with a resource manager facet receives a TXUSER_VOTER_MTAG_CREATE message, it MUST perform the following actions:

  • If the connection state is Idle:

    • Set the connection state to Creating Voter.

    • Find the transaction object in the transaction manager's transaction table using the guidTx field from the message.

    • If the transaction is not found:

    • Otherwise:

      • Create a new Enlistment object with the following values:

        • The transaction manager communicating with a resource manager facet

        • The transaction object

        • The connection

      • Set the Resource Manager Identifier field of the Enlistment object to aNULL GUID.

      • Assign the new Enlistment object to the enlistment field of the connection.

      • Signal the Create Voter Enlistment event on the Core Transaction Manager Facet with the Enlistment object.

  • Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.