3.2.4.19 Local LU Initiated Recovery Sending Compare States

This event MUST be signaled by the higher-layer business logic with the following arguments:

  • A connection object of type CONNTYPE_TXUSER_DTCLURECOVERYINITIATEDBYDTC

  • A LUW Status value, which MUST be set to one of the following values:

    • Committed

    • Heuristic Committed

    • Heuristic Mixed

    • Heuristic Reset

    • In Doubt

    • Reset

If the Local LU Initiated Recovery Sending Compare States event is signaled, the LU 6.2 implementation (section 3.2) MUST perform the following actions:

  • If the provided connection state is not set to Processing Compare States Request:

    • Return a failure result to the higher-layer business logic.

  • Otherwise:

    • Send a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_THEIR_COMPARESTATES message using the provided connection:

      • The CompareStates field MUST be set to one of the following elements of the DTCLUCOMPARESTATE enumeration:

        • DTCLUCOMPARESTATE_COMMITTED if the provided LUW Status value is Committed

        • DTCLUCOMPARESTATE_HEURISTICCOMMITTED if the provided LUW Status value is Heuristic Committed

        • DTCLUCOMPARESTATE_HEURISTICMIXED if the provided LUW Status value is Heuristic Mixed

        • DTCLUCOMPARESTATE_HEURISTICRESET if the provided LUW Status value is Heuristic Reset

        • DTCLUCOMPARESTATE_INDOUBT if the provided LUW Status value is In Doubt

        • DTCLUCOMPARESTATE_RESET if the provided LUW Status value is Reset

    • Set the connection state to Awaiting Response To Compare States.