Netcompo アプリケーション会話サービス 2.1 LU6.2会話サービス編 - Solaris -
目次 索引 前ページ次ページ

上へ第4章 Verbインタフェース
上へ4.1 動作概要

4.1.2 相手トランザクションプログラムからの会話開始-受け付け型会話

"図:会話開始要求受信(受け付け型)、データ送受信、会話終了のシーケンス"に、相手トランザクションプログラムから自トランザクションプログラムに対する会話開始要求を受信し、データの送受信を行ったあとに相手トランザクションプログラムからの会話終了要求を受信して会話を終了するときのシーケンスを示します。

[図:会話開始要求受信(受け付け型)、データ送受信、会話終了のシーケンス]

image

"図:会話開始要求受信(受け付け型)、データ送受信、会話終了のシーケンス"について,以下に解説します。

  1. 自トランザクションプログラムで使用する自LUを指定するために、appc_openバーブを発行します。LU6.2会話サービスはLU資源を獲得します。
  2. LU6.2会話サービスは、LU識別子を返します。
  3. 会話開始を受け付ける自トランザクションプログラム名を指定するために、appc_listenバーブを発行します。LU6.2会話サービスはLISTEN資源、および会話資源を獲得します。
  4. LU6.2会話サービスは、listen識別子を返します。
  5. 会話開始要求を受け付けるために、appc_acceptバーブを発行します。appc_acceptバーブは、相手トランザクションプログラムからの会話開始要求を受信するまでブロッキングします。
  6. 会話開始要求を受け付けると、appc_acceptバーブが復帰します。そのとき、LU6.2会話サービスは、LISTEN資源を解放し、自トランザクションプログラムに会話識別子を返します。この時の自トランザクションプログラムの会話は受信状態(送信権を相手トランザクションプログラムが持つ状態)になります。
  7. 相手トランザクションプログラムからの情報を受信するために、mc_receive_and_waitバーブを発行します。mc_receive_and_waitバーブは、相手トランザクションプログラムからの情報を受信するまでブロッキングします。
  8. LU6.2会話サービスは、相手トランザクションプログラムからデータ、送信権、および応答要求を同時に受信すると、まず、受信データを自トランザクションプログラムに通知し、他の情報をLU6.2会話サービス内に保留します。
  9. 相手トランザクションプログラムからの次の情報を受信するために、mc_receive_and_waitバーブを発行します。LU6.2会話サービス内に相手トランザクションプログラムからの情報を保留しているため、mc_receive_and_waitバーブはブロッキングしません。
  10. LU6.2会話サービスは、既に受信している相手トランザクションプログラムからの送信権と応答要求を、同時に自トランザクションプログラムに通知します。この時、自トランザクションプログラムの会話は確認状態(送信確認状態)になります。
  11. 相手トランザクションプログラムに肯定応答を送信するために、mc_confirmedバーブを発行します。
  12. mc_confirmedバーブは正常終了します。この時、自トランザクションプログラムの会話は送信状態になります。
  13. 相手トランザクションプログラムにデータを送信するために、mc_send_dataバーブを発行します。この時点では、自トランザクションプログラムの送信するデータは相手トランザクションプログラムには通知されず、LU6.2会話サービス内に保留されます。
  14. LU6.2会話サービスは、送信データを内部のバッファに保留し、バーブは正常終了します。
  15. 相手トランザクションプログラムに送信権をわたすために、mc_prepare_to_receiveバーブ(サブタイプはSUB_CONFIRM)を発行します。この時、LU6.2会話サービス内に保留されていた送信データが、送信権および応答要求とともに相手トランザクションプログラムに送信されます。
  16. mc_prepare_to_receiveバーブは、相手トランザクションプログラムからの肯定応答を受信したときに正常終了します。この時、自トランザクションプログラムの会話は受信状態になります。
  17. 相手トランザクションプログラムからの情報を受信するために、mc_receive_and_waitバーブを発行します。mc_receive_and_waitバーブは、相手トランザクションプログラムからの情報を受信するまでブロッキングします。
  18. LU6.2会話サービスは、相手トランザクションプログラムから会話終了要求と応答要求を同時に受信すると、そのふたつの情報を同時に自トランザクションプログラムに通知します。この時、自トランザクションプログラムの会話は確認状態(会話終了確認状態)になります。
  19. 相手トランザクションプログラムに肯定応答を送信するために、mc_confirmedバーブを発行します。
  20. mc_confirmedバーブは正常終了します。この時、自トランザクションプログラムの会話は会話終了状態になります。
  21. 会話資源を解放するために、mc_deallocateバーブ(サブタイプはSUB_LOCAL)を発行します。
  22. mc_deallocateバーブは、LU6.2会話サービスの会話資源を解放し、正常終了します。会話は終了します。
  23. LU資源を解放するために、appc_closeバーブを発行します。
  24. appc_closeバーブは、LU6.2会話サービスのLU資源を解放し、正常終了します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2002