Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las sesiones de punto de sincronización de LU 6.2 pueden usar una optimización de los flujos de mensajes arquitectados conocida como olvido implícito. Cuando el protocolo especifica que se requiere un encabezado de presentación FORGET (PS), el siguiente flujo de datos en la sesión implica que se ha recibido un FORGET, aunque no lo haya. En la situación normal, el TP es consciente del siguiente flujo de datos cuando se reciben o envían datos en una de sus conversaciones de punto de sincronización.
Sin embargo, es posible que el último mensaje fluya debido a que la conversación se desasigne. En este caso, el TP no es consciente de cuándo se produce el siguiente flujo de datos en la sesión. Para proporcionar esta notificación al TP, los comandos DEALLOCATE y MC_DEALLOCATE se modifican para permitir que el TP registre una función de devolución de llamada a la que se llamará:
En la primera transmisión de flujo normal (solicitud o respuesta) en la sesión que se utiliza para la conversación.
Si la sesión no está delimitada antes de cualquier otro flujo de datos.
Si la sesión finaliza anómalamente debido a una interrupción del control de vínculo de datos (DLC).
El procedimiento de devolución de llamada puede tomar cualquier nombre porque la dirección del procedimiento se pasa a la DLL de APPC.
Tenga en cuenta que los verbos DEALLOCATE y MC_DEALLOCATE probablemente se completarán antes de llamar a la rutina de devolución de llamada. La conversación se considera que está en estado RESET y no se pueden emitir más verbos mediante el identificador de conversación. Si la aplicación emite un verbo TP_ENDED antes del siguiente flujo de datos de la sesión, no se invocará la rutina de devolución de llamada.
Los verbos DEALLOCATE y MC_DEALLOCATE se modifican de la siguiente manera para admitir el olvido implícito:
Se añade un nuevo miembro, callback, para que el TP pueda especificar la dirección de la función que se llamará en el próximo flujo de datos dentro de la sesión utilizada por la conversación que está siendo desasignada. Si este miembro es NULL, no se proporcionará ninguna notificación. Normalmente, un proveedor proporcionaría esta función de devolución de llamada.
Los verbos DEALLOCATE y MC_DEALLOCATE también contienen un miembro correlator que se devuelve como uno de los parámetros cuando se invoca la función de devolución de llamada. La aplicación puede usar este parámetro de cualquier manera (por ejemplo, como puntero a un bloque de control dentro de la aplicación).
Host Integration Server permite a los TPs desasignar conversaciones inmediatamente después de enviar datos, utilizando el tipo de miembro en los verbos SEND_DATA y MC_SEND_DATA como AP_SEND_DATA_DEALLOC_FLUSH, AP_SEND_DATA_DEALLOC_SYNC_LEVEL, AP_SEND_DATA_DEALLOC_ABEND y AP_SEND_DATA_DEALLOC_CONFIRM. Sin embargo, los verbos SEND_DATA y MC_SEND_DATA no contienen la función de callback implícita "forget". Los TPs que deseen recibir una notificación de olvido implícita deben emitir el verbo DEALLOCATE o MC_DEALLOCATE explícitamente.