Procesamiento de confirmación
La secuencia de eventos para el procesamiento de confirmación es la siguiente:
Establezca el nivel de sincronización.
Enviar una solicitud de confirmación.
Recibir datos y solicitud de confirmación.
Responda a la solicitud de confirmación.
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.