同期転送と非同期転送
配信要求や送信要求は、同期転送と非同期転送の選択を行うことができます。
(1) 同期転送の流れ
配信要求コマンドを同期転送で実行すると、配信処理が完了するまでコマンドは終了しません。また、送信要求コマンドを同期転送で実行すると、集信処理が完了するまでコマンドは終了しません。これにより、ユーザジョブは配信または集信の完了コードを確認してから次の処理を行うことができます。
同期転送処理の流れを図2.8 で説明します。
1) 配信要求コマンドの起動
配信要求コマンドは、配信受付スレッドに対して配信コマンドを発行します。
2) 配信要求の受理確認
配信受付スレッドは、配信要求コマンドに対して、配信要求の受理を通知します。
3) 配信スレッドの作成
配信受付スレッドは、配信スレッドを作成し、ファイル転送を行います。
4) 配信の終了を通知
配信スレッドは配信終了後、配信受付スレッドに対しファイル転送の結果を通知し、配信履歴ファイルに書き込みます。また、配信後ジョブとして登録されたジョブを起動します。
5) 配信要求コマンドの終了
配信受付スレッドは配信スレッドからの配信完了通知を受け、その内容を配信要求コマンドに通知します。
(2) 非同期転送の流れ
配信要求コマンドを非同期転送で実行すると、配信処理が完了する前にコマンドは終了します。また、送信要求コマンドを非同期転送で実行すると、集信処理が完了する前にコマンドは終了します。実際の配信または集信は要求を発行したユーザジョブとは非同期に実行され、配信または集信の完了コードはユーザジョブには通知されません。
非同期転送処理の流れを図2.9 で説明します。
1) 配信要求コマンドの起動
配信要求コマンドは、配信受付スレッドに対して配信コマンドを発行します。
2) 配信要求コマンドの終了
配信受付スレッドは、配信要求コマンドに対して、配信要求の受理を通知します。配信要求コマンドは通知を受けた後、終了します。
3) 配信スレッドの作成
配信受付スレッドは、配信スレッドを作成し、ファイル転送を行います。
4) 配信の終了を通知
配信スレッドは配信終了後、配信受付スレッドに対しファイル転送の結果を通知し、配信履歴ファイルに書き込みます。また、配信後ジョブとして登録されたジョブを起動します。