Main Content

matlab.net.http.ProgressMonitor クラス

名前空間: matlab.net.http
スーパークラス: handle

HTTP メッセージ交換の進行状況モニター

説明

ProgressMonitor クラスは、HTTP 要求メッセージの進行状況モニターを実装するために使用します。進行状況モニターは、このクラスのプロパティ内の変更をリッスンしてユーザーが選択する表示または更新を行います。

進行状況モニターを実装するには、このクラスのサブクラスを作成します。次に HTTPOptions オブジェクトを作成してそのサブクラスを ProgressMonitorFcn プロパティとして指定し、UseProgressMonitor プロパティを true に設定します。

HTTP 要求は RequestMessage.send メソッドを呼び出すと開始されます。プロセスでは、リダイレクトと認証の場合には両方向の複数のメッセージが含まれることがあります。すべての転送が完了すると、MATLAB®done メソッドを呼び出します。

転送中に次が行われます。

  • RequestMessage.send を呼び出したときに、MATLAB が Max プロパティ、CancelFcn プロパティおよび Direction プロパティを設定する。

  • 転送されたバイト数を示すために要求メッセージの本文が送信されるため、MATLAB は Value プロパティを繰り返し設定する。

  • ResponseMessage の受信が始まると MATLAB は DirectionResponse に設定し、ここでも Value を繰り返し設定する。

  • 転送をキャンセルするには、関数 CancelFcn を随時呼び出す。このアクションは、コマンド ウィンドウで関数 send を中断するのと同じです。

DirectionResponse に変更された後、グラフィカル進行状況インジケーターまたは他の進行状況指標を表示できます。後続の各 Value については、インジケーターを現在の Value に更新します。このメカニズムを使用して進行状況をプログラムで監視することもできます。

matlab.net.http.ProgressMonitor クラスは handle クラスです。

作成

obj = matlab.net.http.ProgressMonitor(Name,Value) は 1 つ以上の名前と値のペアの引数で指定された追加のプロパティを使用して、進行状況モニターを作成します。Name はプロパティ名で、Value は対応する値です。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。未指定のプロパティは既定値に設定されます。

プロパティ

すべて展開する

最初の呼び出しまでの時間 (秒) と呼び出し間の最大間隔。double として指定します。

Interval は、転送が開始されてから Value プロパティが最初に設定されるまでの時間 (秒単位) です。Interval は、進行状況にかかわらず、Value の設定間隔の推奨最大時間です。データの合計転送時間が Interval 秒未満の場合、Value は設定されません。Value が最後に設定されてから Interval 秒後にデータの転送が行われない場合、Value が同じ値で再設定されることがあります。これにより、進行がない場合でも、ProgressMonitor オブジェクトは CancelFcn を呼び出して転送をキャンセルすることができます。

Interval 値は推奨値です。進行が見られない場合、MATLAB が ValueInterval 秒以内に設定するという保証はありません。

既定の間隔は 2 秒です。異なる値を指定するには、コンストラクターで Interval を設定します。進行が見られない場合、Value の連続設定の最小間隔は 0.1 秒です。ただし、Value が変わると、この間隔よりも頻繁に設定されることがあります。

最初に Value が設定された後、同じ交換内の後続メッセージについて Value がすぐに設定されます。

モニター使用中インジケーター。true または false として指定します。MATLAB は、このプロパティを設定して転送中にこの ProgressMonitor オブジェクトを使用しているかどうかを示します。InUse により、このオブジェクトを一度に複数の転送で再使用できなくなります。

データ型: logical

転送をキャンセルするために呼び出す関数。関数ハンドルとして指定します。MATLAB は、転送をキャンセルするために ProgressMonitor が呼び出すべき関数に CancelFcn を設定します。この関数の呼び出しは、コマンド ウィンドウで転送を中断するのと同じ効果があります。

転送の最大長。uint64 として指定します。最大長が不明な場合、Max[] になります。Max は表示される進行状況インジケーターの最大値です。

MATLAB は各送受信操作の開始時に、Content-Length ヘッダー フィールドに基づいて Max を転送すべきバイト数に設定します。

メッセージに Content-Length フィールドが含まれていない場合、Max[] になります。この場合、完了した転送の割合を判別することはできません。ただし、Value プロパティの変更を監視し続けることは可能です。

転送の方向。matlab.net.http.MessageType オブジェクトとして指定します。MATLAB は Direction を設定して、進行状況の監視対象が要求メッセージなのか応答メッセージなのかを示します。転送が行われていない場合、Direction は空になります。

これまでに転送されたバイト数。uint64 として指定します。MATLAB は、Value を現在のメッセージで転送された合計バイト数に繰り返し設定します。ただし、このプロパティは、メッセージの開始以降少なくとも Interval 秒が経過するまで、交換で最初の設定は行われません。

転送の進行状況を監視するには、このプロパティに set.Value メソッドを実装します。set.Value メソッドで進行状況モニター内から転送をキャンセルする機能を実装することもできます。

MATLAB は、現方向での転送が終了したことを示すために、指定した転送の最後で Value を空に設定することがあります。MATLAB は、done メソッドを呼び出す前にすべての転送の終了時に必ず Value を空に設定します。

MATLAB が Value プロパティを更新する頻度は制御できません。ただし、MATLAB は、進行が見られない場合でも、少なくとも Interval 秒ごとに Value を設定することがあります。この動作により、転送が進行しない場合に CancelFcn を呼び出すことができます。転送の開始以降、バイトの転送が Interval 秒間発生しなかった場合、Value がゼロになることがあります。

メソッド

すべて展開する

バージョン履歴

R2016b で導入