7.7 会話型通信のイベントについて

Oracle Tuxedoシステムの会話型通信では、5つのイベントが認識されます。これらのイベントはすべてtprecv()に通知でき、そのうちの3つはtpsend()にも通知できます。

次の表は、イベント、それらのイベントが返される機能、およびそれぞれの詳細な説明を示しています。

表7-3 会話型通信イベント

イベント イベントを受け取る関数 説明
TPEV_SENDONLY tprecv() 接続の制御が渡されました。この時点で、このプロセスはtpsend()を呼び出すことができます。
TPEV_DISCONIMM tpsend()、tprecv()、tpreturn() 接続が切断されており、これ以上の通信はできません。tpdiscon()関数はこのイベントを接続の開始側に通知し、従属サービスとの接続がオープンしたままになっている場合に、tpreturn()が呼び出されると、このイベントをすべてのオープン接続に送信します。接続はエラーが原因で切断されます。トランザクションが存在している場合は、中断されます。
TPEV_SVCERR tpsend() 接続の開始側が受信します。通常は、従属プログラムが接続の制御を持たない場合に、tpreturn()を呼び出したことを示します。
tprecv() 接続の開始側が受信します。従属プログラムがTPSUCCESSまたはTPFAIL、および妥当なデータ・バッファを使用してtpreturn()を呼び出したが、エラーが発生して呼出しが完了しなかったことを示します。
TPEV_SVCFAIL tpsend() 接続の開始側が受信します。従属プログラムが接続の制御を持たない場合にtpreturn()を呼び出し、TPFAILまたはTPEXIT、およびデータなしでtpreturn()が呼び出されたことを示します。
tprecv() 接続の開始側が受信します。従属サービスの処理が正常に終了しなかったこと(つまり、tpreturn()TPFAILまたはTPEXITで呼び出されたこと)を示します。
TPEV_SVCSUCC tprecv() 接続の開始側が受信します。従属サービスの処理が正常に終了したこと(つまり、tpreturn()TPSUCCESSで呼び出されたこと)を示します。