3.3.5.4.2 Receiving a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_NEW_RECOVERY_SEQ_NUM Message
When the Transaction Manager Communicating with an LU 6.2 Implementation Facet receives a TXUSER_DTCLURECOVERYINITIATEDBYDTC_MTAG_NEW_RECOVERY_SEQ_NUM message, it MUST perform the following actions:
If the connection state is Awaiting Response To Cold XLN:
Signal the Received New Recovery Sequence Number event with the following arguments.
The LU Pair object referenced by this connection
The value of the RecoverySeqNum field of the message
If the return value from the Received New Recovery Sequence Number event is TRUE:
Set the connection state to Is Obsolete Processing Response.
Otherwise:
Set the connection state to Processing Response To Cold XLN.
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 Awaiting Response To Warm XLN:
Signal the Received New Recovery Sequence Number event with the following arguments:
The LU Pair object referenced by this connection
The value of the RecoverySeqNum field of the message
If the return value from the Received New Recovery Sequence Number event is TRUE:
Set the connection state to Is Obsolete Processing Response.
Otherwise:
Set the connection state to Processing Response To Warm XLN.
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 either Is Obsolete Awaiting Response To Cold XLN or Is Obsolete Awaiting Response To Warm XLN:
Set the connection state to Is Obsolete Processing Response.
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.