Unterstützung für Präsentationsheader bei der Datenübertragung
Für einfache Unterhaltungen werden Synchronisierungspunktbefehle mithilfe von Präsentationsheadern (PS) in LU 6.2-Unterhaltungen mit dem SEND_DATA oder MC_SEND_DATA Verb gesendet. Alle Präsentationsheader enthalten Längenfelder, die eine Länge von 1 angeben, was normalerweise unzulässig ist. Zur Unterstützung von Synchronisierungspunktunterhaltungen werden die folgenden Änderungen an der Host Integration Server-Präsentationsdienstkomponente vorgenommen:
Bei einfachen Unterhaltungen mit einem Synchronisierungsgrad von AP_SYNCPT werden übertragene Daten, die eine Allgemeine Datenstromvariablenlänge (GDS) von 1 angeben, nicht abgelehnt. Wenn der Synchronisierungslevel nicht AP_SYNCPT ist, wird er wie zuvor abgelehnt.
Bei zugeordneten Unterhaltungen werden PS-Header nicht als zugeordnete Konversationsanwendungsdatensätze (mit GDS-Bezeichner 0x12FF) umschlossen, wenn sie gesendet werden, oder der GDS-Header wird beim Empfang entfernt.
Bei zugeordneten Unterhaltungen liegt es in der Verantwortung der Anwendung, den vollständigen PS-Header einschließlich des Felds Länge bereitzustellen. Auf ähnliche Weise wird das Längenfeld in PS-Headerdaten eingeschlossen, die von Empfangsverben zurückgegeben werden.
Um letzteres zu erreichen, müssen das MC_SEND_DATA Verb und die Empfangsverben (MC_RECEIVE_AND_POST, MC_RECEIVE_AND_WAIT und MC_RECEIVE_IMMEDIATE) wie folgt geändert werden:
Dem verb MC_SEND_DATA wird ein neuer Parameter hinzugefügt, data_type . Wenn dies auf AP_APPLICATION (Standardeinstellung, 0x00) festgelegt ist, werden die Daten wie gewohnt als Anwendungsdaten (GDS-Bezeichner 0x12FF) gesendet. Wenn sie auf AP_PS_HEADER festgelegt ist, werden die Daten wie oben beschrieben gesendet.
Die folgenden zwei neuen Werte werden für das what_rcvd Member der Empfangsverben hinzugefügt, um anzugeben, dass es sich bei den empfangenen Daten um einen PS-Header handelt:
AP_PS_HEADER_COMPLETE
AP_PS_HEADER_INCOMPLETE
Wenn eine Anwendung ein Empfangsverb ausgibt, bei dem rtn_status auf AP_YES festgelegt ist, gibt Host Integration Server status in Kombination mit AP_PS_HEADER_COMPLETE zurück, mit Ausnahme von AP_DEALLOCATE_NORMAL und AP_CONFIRM_DEALLOCATE. Dadurch soll verhindert werden, dass die Unterhaltung vorzeitig von der LU 6.2-Sitzung getrennt wird, wenn ein COMMIT-PS-Header mit dem Hinweis zum Ende der Unterhaltung eingeht.
Es liegt in der Verantwortung der vom Hersteller bereitgestellten Sync Point-Unterstützungskomponente, diese PS-Header in die entsprechenden Sync Point-Rückgabecodes zu konvertieren (z. B. TAKE_SYNCPT).