Sync Point Level 2 Confirm Support

The current APPC implementation in Host Integration Server supports conversations with synclevel of AP_NONE, AP_CONFIRM_SYNC_LEVEL, or AP_SYNCPT. The DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, and MC_PREPARE_TO_RECEIVE verbs specify a type member indicating the synchronization level required. This parameter is interpreted as follows:

Allocated synclevel Type specified Action performed
AP_NONE AP_FLUSH Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_NONE AP_SYNCLEVEL Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_SYNCPT AP_FLUSH Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_SYNCPT or AP_CONFIRM_SYNC_LEVEL AP_CONFIRM_TYPE Action of CONFIRM or MC_CONFIRM verb before deallocation or change of direction.
AP_SYNCPT AP_SYNCLEVEL It is assumed that a Sync Point implementation built using the APPC API in Host Integration Server implements the defer states appropriately. See the note below.

Note

With an allocated synclevel of AP_SYNCPT and a specified type of AP_SYNCLEVEL, it is assumed that a vendor-supplied Sync Point component implements the defer states appropriately. A vendor-supplied Sync Point system must:

  • Intercept DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, and MC_PREPARE_TO_RECEIVE verbs on Sync Point Level 2 conversations when type AP_SYNCLEVEL is specified for synclevel.

  • Maintain the defer state until one of the verbs valid in that state completes.

  • On completion of the verb, issue the original DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, or MC_PREPARE_TO_RECEIVE verb to Host Integration Server.

    Host Integration Server does not implement the defer states directly. In particular, when a DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, or MC_PREPARE_TO_RECEIVE verb is received with a type specified as AP_SYNCLEVEL on a Sync Point conversation, this is treated as if the conversation has a synclevel of AP_NONE.

    So that Sync Point Level 2 conversations can use confirm type synchronization, the DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, and MC_PREPARE_TO_RECEIVE verbs are modified to support a type member of AP_CONFIRM_TYPE.

    The DEALLOCATE, MC_DEALLOCATE, PREPARE_TO_RECEIVE, and MC_PREPARE_TO_RECEIVE verbs specify a type member indicating the synchronization level required. This parameter is interpreted as follows:

Allocated synclevel Type specified Action performed
AP_NONE AP_FLUSH Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_NONE AP_SYNCLEVEL Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_CONFIRM_SYNC_LEVEL AP_FLUSH Action of FLUSH or MC_FLUSH verb before deallocation or change of direction.
AP_CONFIRM_SYNC_LEVEL AP_SYNCLEVEL Action of CONFIRM or MC_CONFIRM verb before deallocation or change of direction.