LU 6.2 同期ポイント セッションでは、暗黙的な忘れと呼ばれる設計されたメッセージ フローの最適化を使用できます。 プロトコルで FORGET プレゼンテーション ヘッダー (PS) が必要と指定されている場合、セッションの次のデータフローは、実際には受信されていないにもかかわらず、FORGET が受信されたことを示唆します。 通常の状況では、TP は、同期ポイントの会話のいずれかでデータが受信または送信されたときに、次のデータ フローを認識します。
ただし、フローの最後のメッセージが、会話の割り当てが解除されたことが原因である可能性があります。 この場合、TP はセッションで次のデータ フローが発生したときに認識されません。 TP にこの通知を提供するために、 DEALLOCATE 動詞と MC_DEALLOCATE 動詞が変更され、TP が呼び出されるコールバック関数を登録できるようになります。
会話で使用されるセッションにおける最初の通常フローの送信(要求または応答)。
セッションが他のデータ フローが発生する前にバインド解除された場合に。
データ リンク制御 (DLC) の停止が原因でセッションが異常終了した場合。
コールバック プロシージャは、プロシージャのアドレスが APPC DLL に渡されるため、任意の名前を取ることができます。
DEALLOCATE 動詞とMC_DEALLOCATE動詞は、コールバック ルーチンが呼び出される前に完了する可能性があることに注意してください。 会話は RESET 状態と見なされ、会話識別子を使用してそれ以上動詞を発行することはできません。 アプリケーションがセッションの次のデータ フローの前に TP_ENDED 動詞を発行した場合、コールバック ルーチンは呼び出されません。
DEALLOCATE 動詞とMC_DEALLOCATE動詞は、暗黙的な忘れをサポートするように次のように変更されます。
新しいメンバーである コールバックが追加され、TP は、割り当てを解除する会話で使用されているセッションの次のデータ フローで呼び出す関数のアドレスを指定できます。 このメンバーが NULL の場合、通知は提供されません。 通常、ベンダーはこのコールバック関数を提供します。
DEALLOCATE およびMC_DEALLOCATE動詞には、コールバック関数が呼び出されたときにパラメーターの 1 つとして返される相関子メンバーも含まれます。 アプリケーションは任意の方法でこのパラメーターを使用できます (たとえば、アプリケーション内の制御ブロックへのポインターとして)。
Host Integration Server では、SEND_DATAおよびMC_SEND_DATA動詞のtypeメンバーをAP_SEND_DATA_DEALLOC_FLUSH、AP_SEND_DATA_DEALLOC_SYNC_LEVEL、AP_SEND_DATA_DEALLOC_ABEND、およびAP_SEND_DATA_DEALLOC_CONFIRMとして指定することで、TPはデータ送信直後に会話の割り当てを解除できます。 ただし、 SEND_DATA 動詞と MC_SEND_DATA 動詞には、暗黙的な忘れコールバック関数は含まれません。 暗黙的な忘れ通知を受信する TP は、 DEALLOCATE または MC_DEALLOCATE 動詞を明示的に発行する必要があります。