Freigeben über


Ändern des Konversationsstatus

Eine Änderung des Unterhaltungszustands kann sich aus folgendem ergeben:

  • Ein Verb, das vom lokalen TP ausgegeben wird.

  • Ein vom Partner-TP ausgegebenes Verb.

  • Eine Fehlerbedingung.

    Das folgende Beispiel zeigt, wie APPC-Verben den Zustand der Unterhaltung von SEND in RECEIVE und von RECEIVE in SEND ändern können.

Hinweis

Jeder TP kann Daten senden oder empfangen, unabhängig davon, ob es sich um den aufrufenden TP (der TP, der die Konversation gestartet hat) oder um den aufrufbaren TP (der TP, der auf eine Anforderung zum Starten einer Konversation reagiert hat).

Dieses Beispiel zeigt, wie APPC-Verben den Unterhaltungszustand ändern können. In dieser Tabelle wird jeder Konversationszustand fett formatiert und vor den APPC-Verben angezeigt, die in diesem Zustand verwendet werden.

Ausgestellt vom aufrufenden TP Ausgestellt vom aufrufbaren TP
TP_STARTED
Unterhaltungszustand: ZURÜCKSETZEN
MC_ALLOCATE
(synclevel=AP_CONFIRM_SYNC_LEVL)
Unterhaltungszustand: SEND
MC_SEND_DATA
MC_PREPARE_TO_RECEIVE
(ptr_type=AP_SYNC_LEVEL)
Unterhaltungszustand: ZURÜCKSETZEN
RECEIVE_ALLOCATE
Unterhaltungszustand: RECEIVE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_DATA_COMPLETE)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_CONFIRM_SEND)
Unterhaltungszustand: CONFIRM_SEND
MC_CONFIRMED
Unterhaltungszustand: SEND
MC_SEND_DATA
MC_CONFIRM
Unterhaltungszustand: RECEIVE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_DATA_COMPLETE)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_CONFIRM_WHAT_RECEIVED)
Unterhaltungszustand: BESTÄTIGEN
MC_REQUEST_TO_SEND
MC_CONFIRMED
(rts_rcvd=AP_YES)
MC_PREPARE_TO_RECEIVE
(ptr_type=AP_SYNC_LEVEL)
Unterhaltungszustand: RECEIVE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_CONFIRM_SEND)
Unterhaltungszustand: CONFIRM_SEND
MC_CONFIRMED
Unterhaltungszustand: SEND
MC_SEND_DATA
MC_DEALLOCATE
(dealloc_type=AP_SYNC_LEVEL)
Unterhaltungszustand: RECEIVE
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_DATA_COMPLETE)
MC_RECEIVE_AND_WAIT
(primary_rc=AP_OK)
(what_rcvd=AP_CONFIRM_DEALLOCATE)
Unterhaltungszustand: CONFIRM_DEALLOCATE
MC_CONFIRMED
Unterhaltungszustand: ZURÜCKSETZEN Unterhaltungszustand: ZURÜCKSETZEN
TP_ENDED TP_ENDED

Anfangszustände

Bevor die Unterhaltung zugewiesen wird, ist der Status für beide TPs RESET.

Im Beispiel lautet der Anfangszustand nach der Zuweisung der Konversation SEND für den aufrufenden TP und RECEIVE für den aufrufbaren TP.

Ändern des EMPFANGSzustands

MC_PREPARE_TO_RECEIVE ermöglicht es einem TP, die Unterhaltung von SEND in RECEIVE zu ändern. Dieses Verb:

  • Leert den Sendepuffer der lokalen LU.

  • Sendet den AP_CONFIRM_SEND-Indikator über den what_rcvd-Parameter eines Empfangsverbens an den Partner-TP. Dieser Indikator teilt dem Partner-TP mit, dass eine MC_CONFIRMED Antwort erwartet wird, bevor der Partner-TP mit dem Senden von Daten beginnen kann.

    Die Bestätigungsverarbeitung wird ausgeführt, wenn die folgenden Bedingungen erfüllt sind:

  • Der parameter ptr_type ist auf AP_SYNC_LEVEL festgelegt.

  • Die Synchronisierungsebene der Unterhaltung ist auf AP_CONFIRM_SYNC_LEVEL festgelegt.

    Weitere Informationen zur Bestätigungsverarbeitung finden Sie unter Bestätigungsverarbeitung.

Hinweis

Wenn Sie MC_RECEIVE_AND_WAIT ausgeben, während sich die Unterhaltung im SEND-Zustand befindet, wird der Sendepuffer der LU geleert und der Unterhaltungszustand in RECEIVE geändert. Das Ändern des Unterhaltungszustands auf diese Weise unterstützt keine Bestätigungsverarbeitung.

Ändern des SEND-Zustands

MC_REQUEST_TO_SEND informiert den Partner-TP (für den sich die Konversation im SEND-Zustand befindet), dass der lokale TP (für den sich die Unterhaltung im RECEIVE-Zustand befindet) Daten senden möchte. Diese Anforderung wird dem Partner-TP über den rts_rcvd-Parametervon MC_CONFIRM mitgeteilt. (Der parameter rts_rcvd wird auch an MC_SEND_DATA und andere Verben zurückgegeben.)

Wenn der Partner-TP MC_PREPARE_TO_RECEIVE ausgibt, ändert sich der Unterhaltungszustand für den Partner-TP in RECEIVE, sodass der lokale TP Daten senden kann.

Hinweis

Die Ausgabe MC_REQUEST_TO_SEND ändert den Zustand der Unterhaltung nicht. Beim Empfang einer Anforderung zum Senden muss der Partner-TP den Unterhaltungszustand nicht ändern. Die Anforderung kann ignoriert werden.