3.7.5.1.2.1.6 Receiving a PARTNERTM_PROPAGATE_MTAG_PREPAREREQDONE Message
When the superior transaction manager receives a PARTNERTM_PROPAGATE_MTAG_PREPAREREQDONE message, the superior transaction manager MUST perform the following actions:
If the connection state is Awaiting Prepare Response:
Signal the Enlistment Phase One Complete (section 3.2.7.16) event on the Core Transaction Manager Facet (section 1.3.3.3.1) with the following arguments:
The Enlistment object that is referenced by this connection.
The outcome value that is determined by the prepareReqDone field from the message. The outcome value is set to:
Prepared if the prepareReqDone field is PARTNERTM_PROPAGATE_PREPAREREQDONE_OK.
Aborted if the prepareReqDone field is PARTNERTM_PROPAGATE_PREPAREREQDONE_ABORT.
Read Only if the prepareReqDone field is PARTNERTM_PROPAGATE_PREPAREREQDONE_READ_ONLY.
Committed if the prepareReqDone field is PARTNERTM_PROPAGATE_PREPAREREQDONE_SINGLEPHASE_COMMIT.
In Doubt if the prepareReqDone field is PARTNERTM_PROPAGATE_PREPAREREQDONE_SINGLEPHASE_INDOUBT.
If the prepareReqDone value is Prepared:
Set the connection state to Prepared.
Otherwise, set the connection state to Ended.
Otherwise, the message MUST be processed as an invalid message as specified in section 3.1.6.