Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La sequenza di eventi per l'elaborazione della conferma è la seguente:
Stabilire il livello di sincronizzazione.
Inviare una richiesta di conferma.
Ricevere i dati e la richiesta di conferma.
Rispondere alla richiesta di conferma.
Deallocare la conversazione.
Utilizzando l'elaborazione della conferma, un programma di transazione (TP) invia una richiesta di conferma con i dati. Il partner TP conferma la ricezione dei dati o indica che si è verificato un errore. Ogni volta che i due TP scambiano una richiesta di conferma e una risposta, vengono sincronizzati.
Annotazioni
Anche se l'esempio in questa sezione non mostra questo, qualsiasi TP può inviare o ricevere dati, indipendentemente dal fatto che il TP sia il TP richiamato o il TP richiamabile.
Nella tabella seguente vengono illustrati i passaggi necessari per l'elaborazione della conferma.
| Passo | Rilasciato dal tp di richiamo | Rilasciato dal TP richiamabile |
|---|---|---|
| 1 | Avvia_Conversazione | |
| 2 | Set_Sync_Level (sync_level=CM_CONFIRM) | |
| 3 | Assegnare | |
| 4 | Send_Data | |
| 5 | Confirm | |
| 6 | Accetta_Conversazione | |
| 7 | Ricevi (data_received= CM_COMPLETE_DATA_RECEIVED) (status_received= CM_CONFIRM_RECEIVED) | |
| 8 | Confermato | |
| 9 | (return_code=CM_OK) | |
| 10 | Invia_Dati | |
| 11 | Deallocate | |
| 12 | Ricevere | |
| 13 | (status_received= CM_CONFIRM_DEALLOC_RECEIVED) | |
| 14 | Confermato | |
| 15 | (codice_di_ritorno=CM_OK) |
Definizione del livello di sincronizzazione
La chiamata Set_Sync_Level consente di eseguire l'override del livello di sincronizzazione predefinito della conversazione. Il livello di sincronizzazione è una delle caratteristiche della conversazione. Esistono due possibili livelli di sincronizzazione:
CM_CONFIRM, in cui i provider di servizi di transazione possono richiedere la conferma della ricezione dei dati e rispondere a tali richieste.
CM_NONE, impostazione predefinita, in cui non viene eseguita l'elaborazione della conferma.
La chiamata Initialize_Conversation imposta le caratteristiche predefinite di una conversazione. Esistono diverse chiamate che iniziano con Set_. Queste chiamate consentono di eseguire l'override delle caratteristiche di conversazione predefinite.
Invio di una richiesta di conferma
L'emissione della chiamata Confirm ha due effetti:
Svuota il buffer di invio della LU locale e invia tutti i dati contenuti nel buffer al TP del partner.
Invia una richiesta di conferma che il partner TP riceve tramite il parametro status_received di una chiamata Receive.
Dopo l'emissione conferma, il tp locale attende la conferma dal tp del partner.
Ricezione di una richiesta di conferma
Il parametro status_received della chiamata di ricezione indica qualsiasi azione futura richiesta dal tp locale.
Nell'esempio, la prima ricezione ha uno status_received di CM_CONFIRM_RECEIVED, a indicare che è necessaria una conferma prima che il TP del partner possa continuare.
Risposta a una richiesta di conferma
Il partner TP emette la chiamata confermata per confermare la ricezione dei dati. In questo modo il tp locale viene liberato per riprendere l'elaborazione.
Deallocazione della chat
Poiché il livello di sincronizzazione della conversazione è impostato su CM_CONFIRM, Deallocate invia una richiesta di conferma con i dati scaricati dal buffer.
Per la seconda chiamata Ricevi, status_received è CM_CONFIRM_DEALLOC_RECEIVED, a indicare che il TP del partner richiede una conferma, generata dalla chiamata Confermata, prima che la conversazione possa essere deallocata.