W3cubDocs

/Web APIs

ByteLengthQueuingStrategy: highWaterMark property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨January 2019⁩.

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

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

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
highWaterMark 52 16 65 39 10.1 52 65 41 10.3 6.0 52 10.3

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ByteLengthQueuingStrategy/highWaterMark