Suddivisione in blocchi

La suddivisione in blocchi può essere considerata come simile alla segmentazione. Per altre informazioni, vedere Distribuzione segmento. La distinzione è che la segmentazione è determinata dal collegamento di comunicazione tra il nodo locale e il sistema remoto, mentre la suddivisione in blocchi è determinata dal collegamento di comunicazione tra l'applicazione e il nodo locale.

L'applicazione indica nella richiesta Open(SSCP) se supporta la suddivisione in blocchi e, in caso affermativo, la dimensione del blocco in byte da usare. Il nodo locale usa quindi le dimensioni dell'unità richiesta/risposta (UR), le dimensioni del blocco e le dimensioni del segmento (se applicabile) per determinare se è necessaria la suddivisione in blocchi. Specifica quindi le dimensioni dei blocchi usate per il flusso in ingresso e in uscita (che non devono essere uguali) nella richiesta Open(PLU). Questi valori vengono specificati in unità di elementi. Per altre informazioni, vedere Messaggi. Un valore pari a zero per una di queste dimensioni indica che la suddivisione in blocchi non è necessaria perché la dimensione del blocco non è il fattore di limitazione. Si noti che nei dati di suddivisione in blocchi, un'UR non verrà divisa al centro di un elemento. Ciò consente di evitare la copia dei dati.

Si supponga, ad esempio, che il nodo locale usi una dimensione ur di 8 kilobyte (KB) e segmenti di 2 KB e che la richiesta Open(SSCP) dell'applicazione specifica il recapito del segmento e una dimensione di blocco pari a 4 KB. La suddivisione in blocchi verrà usata nel flusso di dati in ingresso (perché le dimensioni del blocco sono inferiori alle dimensioni delle UR), ma non sono necessarie nel flusso di dati in uscita (perché i dati verranno recapitati in segmenti più piccoli rispetto alle dimensioni del blocco).

Se la suddivisione in blocchi viene usata in entrambe le direzioni, tutti i valori di credito specificano il numero di blocchi che possono essere inviati in tale direzione, non il numero di UR. Si noti che l'opzione di recapito segmento è inclusa nella richiesta Open(SSCP) per abilitare il nodo locale per calcolare i valori di credito di blocchi iniziali nella connessione PLU corrispondente. L'applicazione deve anche impostare questa opzione nella risposta Open(PLU). Se la richiesta Open(SSCP) e la risposta Open(PLU) hanno impostazioni diverse di questa opzione, verrà usata l'impostazione della risposta Open(PLU). Ciò può significare che il valore di credito iniziale utilizzato non è appropriato.

Se viene utilizzata la pacing a livello di sessione, il nodo locale collega questo al credito a blocchi. In particolare, se l'applicazione controlla il credito, il nodo locale ritarderà l'invio di una risposta di pacing all'host, applicando così pressione indietro all'host. Questo collegamento viene gestito dal nodo locale e non è necessario preoccuparsi dell'applicazione.

I flag dell'applicazione su blocchi di UR vengono gestiti nello stesso modo di quelli nei segmenti. Per altre informazioni, vedere Flag applicazione e recapito segmento. In particolare:

  • FMHI, BCI, COMMIT, BBI, EBI, CODE, ENCRYP, ENPAD, QRI e CEI sono impostati solo sul primo blocco di UN UR.

  • ECI e CDI sono impostati solo sull'ultimo blocco di un'UR.

  • BBIUI è sempre impostato sul primo blocco di un'UR.

  • EBIUI è sempre impostato sull'ultimo blocco di un UR.

    Si noti che EBI è impostato sul primo blocco dell'ultima UR in una parentesi e non sull'ultimo blocco come potrebbe essere previsto. Questo è lo stesso comportamento di per il recapito del segmento. L'applicazione deve usare il messaggio Status-Session(BETB), non il flag EBI, per determinare quando è stata terminata una parentesi quadre.

    I blocchi vengono identificati usando i flag di segmentazione BBIUI e EBIUI e pertanto l'applicazione non può distinguere tra blocchi e segmenti se vengono usati sia segmentazione che blocchi in uscita. Tuttavia, in genere non c'è bisogno di distinzione. L'applicazione può eseguire l'ombreggiatura delle finestre visualizzando ogni unità di dati ricevuta, indipendentemente dal fatto che l'unità di dati sia un segmento o un blocco. Per altre informazioni, vedere Distribuzione segmento.

Nota

Le versioni precedenti di questo documento indicano questo come funzionalità futura. Il supporto è abilitato in Host Integration Server. Le applicazioni possono testare la versione del prodotto restituita in una chiamata a sepdgetinfo per la versione 1.2 o successiva prima di usare il sistema di suddivisione in blocchi.

In alcuni casi, le dimensioni dell'UR usate dal nodo locale possono essere troppo grandi per la lunghezza del percorso tra il nodo locale e un'applicazione FMI, ad esempio quando si usa un collegamento a 16 megabyte (MB), che può supportare 16 kilobyte (KB). Il nodo locale consente a un'applicazione FMI di specificare che il trasferimento dei dati deve essere in unità più piccole, denominate blocchi.

Vedere anche

Apertura della connessione PLU
Sessione PLU
Concatenamento in uscita
Concatenamento in ingresso
Consegna segmenti
Parentesi
Direzione
Spaziatura e suddivisione in blocchi
Conferma e rifiuto dei dati]
Arresto e disattivazione
Ripristino
Terminazione avviata dall'applicazione
LUSTATs]
Dati di monitoraggio del tempo di risposta