ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

delegateTo

クラス: matlab.net.http.io.ContentConsumer
パッケージ: matlab.net.http.io

別のコンシューマーへのデリゲート

構文

[OK,bufsize] = delegateTo(consumer,delegate,header)

説明

[OK,bufsize] = delegateTo(consumer,delegate,header)header に基づいて後続のペイロードを処理するためのコンシューマーとして delegate を準備します。consumer はデリゲーターになり、delegate はデリゲートになります。

デリゲートを準備するために、delegateTo によって次のプロパティが設定されます。

  • consumer.CurrentDelegatedelegate に設定

  • delegate.Headerheader の値に設定

  • delegate.MyDelegatorconsumer に設定

  • delegate プロパティ (RequestResponseURI など) を対応する consumer プロパティに設定

その後、delegateTo がデリゲートの initialize メソッドを呼び出します。デリゲートがメッセージを受け入れることを示す trueinitialize が返したら、delegateTostart メソッドを呼び出します。

別のデリゲートで delegateTo を呼び出す場合は、データが終了したことを最初のデリゲートに伝えてください。これを行うには、delegate.putData(uint8.empty) を呼び出します。

デリゲートの initialize メソッドは OK を設定し、その start メソッドは bufsize を設定します。bufsize は、OKtrue である場合にのみ有効です。OKfalse である場合、start メソッドが呼び出されていないため、コンシューマーはそのデリゲートで putData を呼び出してはなりません。

入力引数

すべて展開する

コンテンツ コンシューマー。matlab.net.http.io.ContentConsumer オブジェクトとして指定します。

ペイロードを処理するコンシューマー。matlab.net.http.io.ContentConsumer オブジェクト、または ContentConsumer を返す関数のハンドルとして指定します。関数である場合、入力引数はありません。

現在処理中のペイロードのヘッダー。matlab.net.http.HeaderField オブジェクトとして指定されます。

出力引数

すべて展開する

コンシューマーがメッセージのペイロードを受け入れるか拒否するかどうかを示します。true または false として返されます。ResponseMessage のステータス コードが StatusCode.OK である場合、既定値は true です。

OKtrue である場合、呼び出し元は明示的に delegate.putData を呼び出してデリゲートにデータを入力したり、必要に応じて、デリゲートが Response.Body に挿入するデータを、呼び出しごと、新しいデリゲートへの切り替え前、あるいはメッセージの終了時にコピーして、呼び出し元の Response に戻さなければなりません。

OKfalse である場合、あるいはデータが終了したことを前のデリゲートによって通知されている場合は、コンシューマーは delegateTo を呼び出して、同じメッセージ内の後続の (または同じ) データのために別のデリゲートを呼び出すことができます。

最大バッファー サイズ。double として返されます。

属性

Accessprotected

R2018a で導入