ByteLengthQueuingStrategy: highWaterMark property

Note: This feature is available in Web Workers.

The read-only ByteLengthQueuingStrategy.highWaterMark property returns the total number of bytes that can be contained in the internal queue before backpressure is applied.

Note: Unlike CountQueuingStrategy() where the highWaterMark property specifies a simple count of the number of chunks, with ByteLengthQueuingStrategy(), the highWaterMark parameter specifies a number of bytes — specifically, given a stream of chunks, how many bytes worth of those chunks (rather than a count of how many of those chunks) can be contained in the internal queue before backpressure is applied.

Values

An integer.

Examples

js
const queuingStrategy = new ByteLengthQueuingStrategy({
  highWaterMark: 1 * 1024,
});

const readableStream = new ReadableStream(
  {
    start(controller) {
      // …
    },
    pull(controller) {
      // …
    },
    cancel(err) {
      console.log("stream error:", err);
    },
  },
  queuingStrategy,
);

const size = queuingStrategy.size(chunk);
console.log(`highWaterMark value: ${queuingStrategy.highWaterMark}$`);

Specifications

Specification
Streams Standard
# ref-for-blqs-high-water-mark①

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
highWaterMark

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also