3.2.4.25 Remote 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_DTCLURECOVERYINITIATEDBYLU.
-
A Remote LUW Status value. This value MUST be one of the following:
-
Committed.
-
Heuristic Committed.
-
Heuristic Mixed.
-
Heuristic Reset.
-
In Doubt.
-
Reset.
-
-
LUW Identifier.
If the Remote 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 XLN Exchange Complete:
-
Return a failure result to the higher-layer business logic.
-
-
Otherwise:
-
Send a TXUSER_DTCLURECOVERYINITIATEDBYLU_MTAG_THEIR_COMPARESTATES message using the provided connection:
-
The CompareStates field MUST be set to one of the following DTCLUCOMPARESTATE values.
-
DTCLUCOMPARESTATE_COMMITTED if the provided Remote LUW Status value is Committed.
-
DTCLUCOMPARESTATE_HEURISTICCOMMITTED if the provided Remote LUW Status value is Heuristic Committed.
-
DTCLUCOMPARESTATE_HEURISTICMIXED if the provided Remote LUW Status value is Heuristic Mixed.
-
DTCLUCOMPARESTATE_HEURISTICRESET if the provided Remote LUW Status value is Heuristic Reset.
-
DTCLUCOMPARESTATE_INDOUBT if the provided Remote LUW Status value is In Doubt.
-
DTCLUCOMPARESTATE_RESET if the provided Remote LUW Status value is Reset.
-
-
The cbLength field of the DTCLU_VARLEN_BYTEARRAY structure (contained in the LuTransId field) MUST be set to the number of bytes in the provided LUW identifier.
-
The first cbLength bytes of the rgbBlob field of the DTCLU_VARLEN_BYTEARRAY structure (contained in the LuTransId field) MUST be set to the provided LUW identifier.
-
-
Set the connection state to Awaiting Response To Compare States.
-