Compartir a través de


Procesamiento de confirmación

La secuencia de eventos para el procesamiento de confirmación es la siguiente:

  1. Establezca el nivel de sincronización.

  2. Enviar una solicitud de confirmación.

  3. Recibir datos y solicitud de confirmación.

  4. Responda a la solicitud de confirmación.

  5. Desasigne la conversación.

    Mediante el procesamiento de confirmación, un TP envía una solicitud de confirmación con los datos; el TP del asociado confirma la recepción de los datos o indica que se ha producido un error. Cada vez que los dos CSP intercambian una solicitud de confirmación y una respuesta, se sincronizan.

Nota

Aunque el ejemplo de esta sección no muestra esto, cualquier TP puede enviar o recibir datos, independientemente de si el TP es el TP invocado o el TP invocable.

En el ejemplo siguiente se muestra el procesamiento de la confirmación.

Emitido por el TP de invocación Emitido por el TP invocable
TP_STARTED
MC_ALLOCATE
(synclevel=AP_CONFIRM_SYNC_LEVEL)
MC_SEND_DATA
(type=AP_SEND_DATA_CONFIRM)
RECEIVE_ALLOCATE
MC_RECEIVE_AND_WAIT
MC_SEND_DATA
(type=AP_SEND_DATA_DEALLOC_SYNC_LEVEL)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(rtn_status=AP_YES)
(what_rcvd= AP_DATA_COMPLETE_CONFIRM_ DEALLOCATE)
MC_CONFIRMED
TP_ENDED TP_ENDED

Establecimiento del nivel de sincronización

El parámetro synclevel de MC_ALLOCATE determina el nivel de sincronización de la conversación. Hay tres niveles de sincronización posibles:

  • AP_NONE, en el que no se produce el procesamiento de confirmación.

  • AP_CONFIRM_SYNC_LEVEL, bajo el cual los CSP pueden solicitar confirmación de recepción de datos y responder a solicitudes de confirmación de datos.

  • AP_SYNCPT, con el que los TP funcionan en compatibilidad con el nivel de punto de sincronización 2 para la confirmación de la recepción de datos.

Envío de una solicitud de confirmación

MC_SEND_DATA con el tipo AP_SEND_DATA_CONFIRM tiene dos efectos:

  • Vacía el búfer de envío de la LU local y envía los datos contenidos en el búfer al TP del asociado.

  • Envía una solicitud de confirmación que el TP del asociado recibe a través del parámetro what_rcvd de un verbo receive.

    Después de emitir MC_SEND_DATA, el TP local espera la confirmación del TP del asociado.

Recepción de datos y solicitud de confirmación

El parámetro what_rcvd de MC_RECEIVE_AND_WAIT indica:

  • Estado de los datos recibidos: completado o incompleto.

  • Se espera un procesamiento futuro del TP local.

    En el ejemplo, what_rcvd es AP_DATA_COMPLETE_CONFIRM, lo que indica que el estado está completo y se solicita una confirmación.

Responder a una solicitud de confirmación

El TP de asociado emite MC_CONFIRMED para confirmar la recepción de datos. Esto libera el TP local para reanudar el procesamiento.

Desasignar la conversación

MC_SEND_DATA envía una solicitud de confirmación con los datos cuando se cumplen todas las condiciones siguientes:

  • El nivel de sincronización de la conversación (establecido por el parámetro synclevel de MC_ALLOCATE) es AP_CONFIRM_SYNC_LEVEL.

  • El parámetro type de MC_SEND_DATA se establece en AP_SEND_DATA_DEALLOC_SYNC_LEVEL.

  • El parámetro what_rcvd del MC_RECEIVE_AND_WAIT final es AP_DATA_COMPLETE_CONFIRM_DEALLOCATE, lo que indica que se requiere una confirmación de recepción de datos antes de que APPC desasigne la conversación. El TP local espera esta confirmación hasta que el TP del asociado emite MC_CONFIRMED.