3.3.7.3.5 Phase One Complete

The Phase One Complete event MUST be signaled with the following arguments:

  • An enlistment object.

  • A value indicating the outcome of Phase One. This value MUST be set to one of the following values:

    • Read-Only

    • Prepared

    • Committed

    • Aborted

    • In Doubt

If the Phase One Complete event is signaled, the TIP subordinate transaction manager facet (section 1.3.1.2.2) MUST perform the following actions:

  • If the provided outcome is In Doubt:

  • Otherwise:

    • If the provided outcome is Committed:

      • Set the State field of the TIP connection object referenced by the provided Enlistment to Idle.

      • Send a COMMITTED TIP command.

    • If the provided outcome is Aborted:

      • Set the State field of the TIP connection object referenced by the provided Enlistment to Idle.

      • Send an ABORTED TIP command.

    • If the provided outcome is Read-Only:

      • Set the State field of the TIP connection object referenced by the provided Enlistment to Idle.

      • Send a READONLY TIP command.

    • If the provided outcome is Prepared:

      • Set the State field of the TIP connection object referenced by the provided Enlistment to Prepared.

      • Send a PREPARED TIP command.