1. 開発者向けのウェブ技術
  2. Web API
  3. ReadableByteStreamController
  4. byobRequest

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ReadableByteStreamController: byobRequest プロパティ

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

byobRequestReadableByteStreamController インターフェイスの読み取り専用プロパティで、現在の BYOB リクエストを返します。保留中のリクエストがない場合は null を返します。

基盤となるバイトソースはこのプロパティを調べ、存在する場合はそれを使用してストリームにデータを書き込む必要があります(ReadableByteStreamController.enqueue()を使用するのではなく)。 こうすることで、コンシューマーへのデータの効率的なゼロバイト移譲が実現します。

ReadableStreamBYOBRequest オブジェクトのインスタンス、または null

読み取り可能なバイトストリームの使用 > 読み取り可能なソケットプッシュバイトストリームの作成の例では、 byobRequest を使用して(データが存在する場合は)データを移譲するか、 ReadableByteStreamController.enqueue() を使用してストリーム内部のキューにデータをコピーする方法を示しています。

関連するコードを下記に示します。 byobRequest が存在すれば、 controller.byobRequest.view にデータが読み込まれ、 ReadableStreamBYOBRequest.respond() が呼び出されて、移譲可能なデータ量を指示します。

js
if (controller.byobRequest) {
 const v = controller.byobRequest.view;
 bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
 if (bytesRead === 0) {
 controller.close();
 }
 controller.byobRequest.respond(bytesRead);
} else {
 // Write to data using enqueue().
}

仕様書

Specification
Streams
# ref-for-rbs-controller-byob-request2

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /