3.3.4.2.1 Changing a Transaction Timeout Using CONNTYPE_TXUSER_SETTXTIMEOUT

The application MUST perform the following actions:

  • Find an instance of a CONNTYPE_TXUSER_BEGINNER (section 2.2.8.1.1) connection in the connection list of the transaction.

  • If a connection is not found, the application MUST return a failure result to the higher-layer business logic.

  • Otherwise, if the connection state is not Processing Transaction (section 3.3.1.1.3):

    • The application MUST return a failure result to the higher-layer business logic.

  • Otherwise:

    • Initiate a new CONNTYPE_TXUSER_SETTXTIMEOUT (section 2.2.8.3.3) connection using the transaction manager Name field of the application.

    • Add the connection to the connection list of the transaction.

    • Send a TXUSER_SETTXTIMEOUT_MTAG_SETTXTIMEOUT (section 2.2.8.1.2.7) message using the CONNTYPE_TXUSER_SETTXTIMEOUT (section 2.2.8.3.3) connection:

      • Set the guidTx field to the Transaction Object.Identifier for the transaction

      • Set the dwTxTimeout value to the time-out value that is provided by the higher-layer business logic, expressed as a total number of milliseconds.

    • Set the connection state to Awaiting Set Timeout Response (section 3.3.1.12.2).