Fragmentación
La fragmentación se puede considerar como similar a la segmentación. (Para obtener más información, vea Entrega de segmentos). La distinción es que la segmentación viene determinada por el vínculo de comunicaciones entre el nodo local y el sistema remoto, mientras que la fragmentación viene determinada por el vínculo de comunicaciones entre la aplicación y el nodo local.
La aplicación indica en la solicitud Open(SSCP) si admite la fragmentación y, si es así, el tamaño del fragmento en bytes que desea usar. A continuación, el nodo local usa el tamaño de la unidad de solicitud/respuesta (RU), el tamaño del fragmento y el tamaño del segmento (si procede) para determinar si es necesario fragmentar. A continuación, especifica los tamaños de fragmento que se usan para el flujo entrante y saliente (que no necesita ser el mismo) en la solicitud Open(PLU). Estos valores se especifican en unidades de elementos. (Para obtener más información, vea Messages).) Un valor de cero para cualquiera de estos tamaños indica que la fragmentación no es necesaria porque el tamaño del fragmento no es el factor de limitación. Tenga en cuenta que, en los datos de fragmentación, una RU no se dividirá en el centro de un elemento. Esto evita la copia de datos.
Por ejemplo, supongamos que el nodo local usa un tamaño de RU de 8 kilobytes (KB) y segmentos de 2 KB, y la solicitud Open(SSCP) de la aplicación especifica la entrega de segmentos y un tamaño de fragmento de 4 KB. La fragmentación se usará en el flujo de datos de entrada (porque el tamaño del fragmento es menor que el tamaño de RU), pero no es necesario en el flujo de datos de salida (ya que los datos se entregarán en segmentos menores que el tamaño del fragmento).
Si la fragmentación se usa en cualquier dirección, todos los valores de crédito especifican el número de fragmentos que se pueden enviar en esa dirección, no el número de RU. Tenga en cuenta que la opción de entrega de segmentos se incluye en la solicitud open(SSCP) para permitir que el nodo local calcule los valores de crédito del fragmento inicial en la conexión PLU correspondiente. La aplicación también debe establecer esta opción en la respuesta Open(PLU). Si la solicitud open(SSCP) y la respuesta open(PLU) tienen una configuración diferente de esta opción, se usará la configuración de la respuesta Open(PLU ). Esto puede significar que el valor de crédito inicial utilizado no es adecuado.
Si se usa el ritmo de nivel de sesión, el nodo local lo vincula al crédito de fragmentación. En concreto, si la aplicación retiene crédito, el nodo local retrasará el envío de una respuesta de velocidad al host, con lo que se aplicará presión inversa al host. Esta vinculación se controla mediante el nodo local y no necesita preocuparse por la aplicación.
Las marcas de aplicación en fragmentos de RU se controlan de la misma manera que las de los segmentos. (Para obtener más información, vea Marcas de aplicación y entrega de segmentos). En concreto:
FMHI, BCI, COMMIT, BBI, EBI, CODE, ENCRYP, ENPAD, QRI y CEI solo se establecen en el primer fragmento de una RU.
ECI y CDI solo se establecen en el último fragmento de una RU.
BBIUI siempre se establece en el primer fragmento de una RU.
EBIUI siempre se establece en el último fragmento de una RU.
Tenga en cuenta que EBI se establece en el primer fragmento de la última RU entre corchetes y no en el último fragmento como se espera. Este es el mismo comportamiento que para la entrega de segmentos. La aplicación debe usar el mensaje Status-Session(BETB), no la marca EBI, para determinar cuándo ha finalizado un corchete.
Los fragmentos se identifican mediante las marcas de segmentación BBIUI y EBIUI y, por lo tanto, la aplicación no puede distinguir entre fragmentos y segmentos si se usan la segmentación y la fragmentación de salida. Sin embargo, por lo general no es necesario distinguir. La aplicación puede realizar sombreado de ventana mostrando cada unidad de datos a medida que se recibe, tanto si la unidad de datos es un segmento como un fragmento. (Para obtener más información, vea Entrega de segmentos).
Nota
Las versiones anteriores de este documento indicaron esto como una característica futura. La compatibilidad está habilitada en Host Integration Server. Las aplicaciones pueden probar la versión del producto devuelta en una llamada a sepdgetinfo para la versión 1.2 o posterior antes de usar el sistema de fragmentación.
En algunos casos, el tamaño de RU usado por el nodo local puede ser demasiado grande para la longitud de la ruta de acceso entre el nodo local y una aplicación FMI, por ejemplo, cuando se usa un vínculo de anillo de token de 16 megabytes (MB), que puede admitir 16 fotogramas kilobytes (KB). El nodo local permite a una aplicación FMI especificar que la transferencia de datos debe estar en unidades más pequeñas, denominadas fragmentos.
Consulte también
Apertura de la conexión de PLU
Sesión de PLU
Encadenamiento de salida
Encadenamiento de entrada
Entrega de segmentos
Brackets
Dirección
Velocidad y fragmentación
Confirmación y rechazo de datos]
Apagado y modo inactivo
Recuperación
Terminación iniciada por la aplicación
LUSTATs]
Datos del Monitor de tiempo de respuesta