1.5.7 タイマ
後続パケット待ちタイマ
HTTP又はTCPの電文組立て処理において、電文を構成するパケットが不足している場合、後続パケット待ちを行います。この時、framework_definition定義の-tオプションのbuild_message_watchtimeフラグメンバが0以外の場合、指定した時間で後続パケット待ちのタイマ監視を行います。
タイマ監視中に後続パケットを受信した場合は、タイマを解除し電文組立て処理を行います。まだパケットが不足している場合は、再度、指定した時間でタイマ監視を行います。この処理を繰り返します。
タイマ監視中に後続パケットを受信しなかった場合は、当該電文の組立てを断念し、組立て中のパケットを破棄します。テスト対象システムからの電文組立て中に組立て断念した場合は、当該コネクションを解放します。
同期応答電文待ちタイマ(RPCプロトコル以外の場合)
同期応答型の要求電文をテスト対象システムへ送信後、framework_definition定義の-tオプションのreply_watchtimeフラグメンバが0以外の場合、指定した時間で同期応答電文の受信完了までのタイマ監視を行います。
タイマ監視中に応答電文の受信が完了、または、応答電文の受信待ちが解除された場合は、タイマを解除します。
タイマ監視中に応答電文の受信が完了しなかった場合は、応答電文の受信待ちを解除し、応答電文受信失敗として後続処理(テスト結果判定等)を行います。
同期応答電文待ちタイマ(RPCプロトコルの場合)
同期応答型のRPCは、電文内の制御情報としてクライアント側に設定されている応答待ち時間でタイマ監視を行います。
応答待ち時間は、rpc_watchtime定義で変更できます。
rpc_watchtime定義で指定できる応答待ち時間を次に示します。
指定値 |
内容 |
---|---|
電文指定値(デフォルト) |
電文に設定されている指定値を利用します。 待ち時間の範囲は0~65535(単位:秒)です。 電文中に値が設定されていない場合は、180秒と仮定します。 |
定義指定値(一律固定) |
定義で指定した値を利用します。 設定できる範囲は0~65535(単位:秒)です。 指定する値をすべての電文で設定値として採用します。 |
定義指定値(閾値) |
定義に指定した値を利用します。定義に指定できる値は閾値です。 指定できる範囲は、1~65535(単位:秒)です。 電文中に値が設定されていない場合は、閾値を180秒と仮定します。この場合、閾値が180より小さい場合は、その値に丸められます。 閾値以上の待ち時間が設定されている電文は、待ち時間が閾値まで丸められます。
|
同期応答型の要求電文をテスト対象システムへ送信後、rpc_watchtime定義に従い同期応答電文の受信完了までのタイマ監視を行います。
タイマ監視中に応答電文の受信が完了、または応答電文の受信待ちが解除(対象コネクション解放など)された場合は、タイマ監視を解除します。
タイマ監視中に応答電文の受信が完了しなかった場合は、応答電文の受信待ちを解除し、応答電文受信失敗として後続処理(テスト結果判定など)を行います。
非同期応答電文待ちタイマ(RPCプロトコルだけ)
非同期応答型の要求電文をテスト対象システムへ送信後、rpc_watchtime定義の-tオプションのwatchtimeフラグメンバが0以外の場合、指定した時間で非同期応答電文の受信完了までのタイマ監視を行います。
同期応答型と異なり、応答電文待ち中も次要求電文を処理します。ただし、該当クライアントの非同期応答電文の応答電文待ち数が1000に達した場合は、応答電文を受信するまで次の要求電文を処理しません。
タイマ監視中に応答電文の受信が完了した場合は、タイマ監視を解除します。
タイマ監視中に応答電文の受信が完了しなかった場合は、応答電文の受信待ちを解除し、応答電文受信失敗として後続処理(テスト結果判定など)を行います。
要求電文待ちタイマ
本番システムのパケットキャプチャで、要求電文と応答電文と別コネクションで送受信する場合、ミラースイッチの遅延などによって、要求電文より先に応答電文をキャプチャするおそれがあります。これを回避するため、応答電文のキャプチャから要求電文のキャプチャまで、最大5秒の待ち合わせを行います。この待ち合わせ時間内に要求電文をキャプチャできなかった場合は、応答電文を破棄します。