Concatenamento in ingresso

La divisione dei dati dell'applicazione in messaggi di dati e il controllo del concatenamento in ingresso sono responsabilità dell'applicazione.

La dimensione massima di invio secondaria dell'unità richiesta per la sessione è un parametro nell'oggetto BIND dall'host ed è disponibile nel blocco di controllo delle informazioni di associazione (BICB) nel messaggio Open(PLU) OK Confirm . L'applicazione deve garantire che ogni messaggio di dati in ingresso corrisponda a una singola unità richiesta. Non contiene più dati rispetto alla dimensione massima dell'unità richiesta specificata in BICB.

L'applicazione deve usare l'indicatore della catena di inizio (BCI) e i flag dell'applicazione ECI (End Chain Indicator) nelle intestazioni del messaggio di dati per controllare il concatenamento. Per altre informazioni, vedere Flag applicazione. La catena è l'unità di ripristino e, se si verificano errori ripristinabili nella catena, l'applicazione deve assumere la responsabilità del ripristino. Per altre informazioni, vedere Ripristino.

Una catena in ingresso può terminare nei modi seguenti:

  • La catena completa viene inviata senza errori. Tutti i messaggi di dati nella catena sono stati passati all'host. Se la sessione consente al database secondario di inviare catene di risposta definite e l'applicazione imposta il campo ACKRQD nell'ultimo messaggio Dati della catena, l'applicazione riceve un oggetto Status-Acknowledgement(Ack) dal nodo locale quando l'host fornisce una risposta.

  • Il nodo locale rileva un errore critico nel formato di un messaggio dati dall'applicazione o nello stato della sessione. Il nodo locale rifiuta il messaggio Dati con status-acknowledgement(Nack-2) contenente un codice di errore e chiude la connessione PLU. Si noti che il nodo locale genererà una richiesta CANCEL in ingresso prima di chiudere la connessione PLU. Il nodo locale invierà una richiesta TERM-SELF all'host per suscitare un UNBIND.

  • L'host invia una risposta negativa a una richiesta nella catena. Il nodo locale invia un messaggio Status-Acknowledgement(Nack-1) all'applicazione con i codici di senso e il numero di sequenza dalla risposta negativa. Se l'host rifiuta una richiesta che non contiene il flag dell'applicazione ECI e l'applicazione non specifica l'opzione di annullamento dell'applicazione nel CICB PLU, il nodo locale genera anche una richiesta CANCEL in ingresso. Quando l'applicazione specifica l'annullamento dell'applicazione, deve inviare EC o Status-Control(CANCEL) per terminare la catena. Tutte le catene in ingresso successive vengono rifiutate con un riconoscimento dello stato non critico(Nack-2), il codice sense 0x2002 o 0x2004 (concatenamento o direzione). Quando l'applicazione riceve il messaggio Status-Acknowledgement(Nack-1), deve interrompere l'invio dei dati dopo questa catena per sessioni flip-flop half duplex perché la direzione è passata all'host. Per altre informazioni, vedere Direction.)

  • L'applicazione annulla la catena durante l'invio inviando un messaggio Status-Control(CANCEL) al nodo locale. Il nodo locale invia una richiesta CANCEL all'host e invia un riconoscimento status-control(CANCEL) all'applicazione in caso di ricezione di una risposta positiva dall'host. Le risposte dall'host alle richieste inviate prima dell'annullamento genereranno messaggi di conferma dello stato appropriati all'applicazione se i messaggi di dati originali avevano il campo ACKRQD impostato.

  • L'applicazione chiude la connessione PLU durante l'invio della catena. Il nodo locale invia una risposta Close(PLU) all'applicazione. Le risposte dall'host alle richieste inviate prima del messaggio Close(PLU) non genereranno messaggi di conferma dello stato all'applicazione. Si noti che il nodo locale genererà anche una richiesta CANCEL in ingresso e una richiesta TERM-SELF per generare un UNBIND.

    Se il nodo locale rileva un errore non critico nel formato di un messaggio dati dall'applicazione o lo stato della sessione, non chiude la connessione PLU. Rifiuta invece il messaggio Dati in errore con status-acknowledgement(Nack-2) contenente un codice di errore appropriato. Nessun dato viene inviato all'host.

    Se una catena in ingresso termina con un errore, quando la sessione usa protocolli half duplex, l'applicazione deve presupporre uno stato di ricezione. Per altre informazioni, vedere Ripristino.

    Le sei figure seguenti illustrano i protocolli di concatenamento in ingresso tra il nodo locale e l'applicazione e il modo in cui tali protocolli sono correlati ai protocolli SNA sottostanti.

    Nella prima figura viene inviata una catena in ingresso completa senza errori e accettata dall'host. Si noti che dopo aver ricevuto Status-Acknowledgement(Ack) l'applicazione abbandona la direzione all'host.

    Image that shows an inbound chain is sent without error and accepted by the host.
    La catena in ingresso viene inviata senza errori e accettata dall'host

    Nella figura seguente il nodo locale rileva un errore critico nel formato del secondo messaggio Di dati nella catena (ACKRQD senza il flag dell'applicazione ECI), invia un messaggio status-acknowledgement(Nack-2) all'applicazione con il codice di errore appropriato e chiude la connessione PLU. Si noti che il nodo locale genera l'errore CANCEL solo se il profilo di gestione delle funzioni della sessione supporta CANCEL.

    Image that shows how a local node detects error, sends a Status message, and closes the PLU connection.
    Il nodo locale rileva l'errore, invia un messaggio di stato e chiude la connessione PLU

    Nella figura seguente viene inviata una catena in ingresso completa senza errori, ma viene rifiutata dall'host. Dopo la risposta negativa, l'applicazione deve immettere lo stato di ricezione, in attesa di recupero degli errori. Per altre informazioni, vedere Ripristino.

    Image that shows how an inbound chain is sent without error but is rejected by host.
    La catena in ingresso viene inviata senza errori, ma viene rifiutata dall'host

    Nella figura seguente l'applicazione annulla la catena inviando Status-Control(CANCEL). Si noti che l'applicazione ha ancora direzione e può avviare una nuova catena.

    Image that shows how an application cancels the chain with a Status-Control(CANCEL).
    L'applicazione annulla la catena con un controllo di stato (CANCEL)

    Nella figura seguente l'applicazione chiude la sessione PLU durante l'invio della catena. Il nodo locale genera l'errore CANCEL solo se il profilo FM della sessione supporta CANCEL.

    Image that shows how an application closes the PLU connection while sending the chain.
    L'applicazione chiude la connessione PLU durante l'invio della catena

    Nella figura seguente il nodo locale rileva un errore non critico nel formato del secondo messaggio Dati nella catena e invia un status-acknowledgement(Nack-2) all'applicazione con il codice di errore appropriato.

    Image that shows how a local node detects a noncritical error and sends a Status-Acknowledge(Nack-2).
    Il nodo locale rileva un errore non critico e invia un riconoscimento dello stato (Nack-2)

Vedere anche

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