3.3.5.4.3 Receiving a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_CONFIRMATION_FROM_OUR_XLN Message

When the Transaction Manager Communicating with an LU 6.2 Implementation Facet receives a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_CONFIRMATION_FROM_OUR_XLN message, it MUST perform the following actions:

  • If the connection state is Awaiting Response To Warm XLN:

    • Set the connection state to Processing Response To Warm XLN.

    • If the XlnConfirmation field of the message is set to DTCLUXLNCONFIRMATION_CONFIRM:

    • Otherwise, if the XlnConfirmation field of the message is set to either DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH or DTCLUXLNCONFIRMATION_COLDWARMMISMATCH:

      • Signal the Synchronization Inconsistent event with the following argument:

        • The LU Pair object referenced by this connection

      • Send a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_REQUESTCOMPLETE message using the connection.

      • Signal the Local LU Initiated Recovery Worker Ended event with the following arguments:

        • The LU Pair object referenced by this connection

        • The connection object

      • Set the connection state to Ended (section 3.3.1.5.20).

    • Otherwise:

      • The transaction manager that communicates with an LU 6.2 Implementation MUST drop the connection.

      • Signal the Local LU Initiated Recovery Worker Ended event with the following arguments:

        • The LU Pair object referenced by this connection

        • The connection object

      • Set the connection state to Ended (section 3.3.1.5.20).

  • Otherwise, if the connection state is Is Obsolete Awaiting Response to Warm XLN:

    • Set the connection state to Is Obsolete Processing Response.

    • If the XlnConfirmation field of the message is not set to DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH, DTCLUXLNCONFIRMATION_COLDWARMMISMATCH, or DTCLUXLNCONFIRMATION_CONFIRM:

      • The transaction manager that communicates with an LU 6.2 Implementation MUST drop the connection.

      • Signal the Local LU Initiated Recovery Worker Ended event with the following arguments:

        • The LU Pair object referenced by this connection

        • The connection object

      • Set the connection state to Ended (section 3.3.1.5.20).

    • Otherwise:

      • Send a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_REQUESTCOMPLETE message using the connection.

      • Signal the Local LU Initiated Recovery Worker Ended event with the following arguments:

        • The LU Pair object referenced by this connection

        • The connection object

      • Set the connection state to Ended (section 3.3.1.5.20).

  • Otherwise, if the connection state is Ended (section 3.3.1.5.20):

    • Ignore the message.

  • Otherwise, the message MUST be processed as an invalid message, as specified in [MS-DTCO], section 3.1.6.