Web/API/RTCDataChannel/bufferedAmountLowThreshold

From Get docs

This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The RTCDataChannel property bufferedAmountLowThreshold is used to specify the number of bytes of buffered outgoing data that is considered "low." The default value is 0. When the number of buffered outgoing bytes, as indicated by the bufferedAmount property, falls to or below this value, a bufferedamountlow event is fired. This event may be used, for example, to implement code which queues more messages to be sent whenever there's room to buffer them. Listeners may be added with onbufferedamountlow or addEventListener().

The user agent may implement the process of actually sending data in any way it chooses; this may be done periodically during the event loop or truly asynchronously. As messages are actually sent, this value is reduced accordingly.

bufferedamountlow events are not fired after the data channel is closed.


Syntax

var threshold = aDataChannel.bufferedAmountLowThreshold;

aDataChannel.bufferedAmountLowThreshold = threshold;

Value

The number of queued outgoing data bytes below which the buffer is considered to be "low."

Example

In this snippet of code, bufferedAmountLowThreshold is set to 64kB, and a handler for the bufferedamountlow event is established by setting the RTCDataChannel.onbufferedamountlow property to a function which should send more data into the buffer by calling send().

var dc = peerConnection.createDataChannel("File Transfer");
dc.bufferedAmountLowThreshold = 65535;

dc.onbufferedamountlow = function() {
  /* use send() to queue more data to be sent */
};

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCDataChannel.bufferedAmountLowThreshold' in that specification. Candidate Recommendation Initial specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

bufferedAmountLowThreshold

Experimental'

Chrome

Full support 56

Edge

Full support ≤79

Firefox

Full support Yes

IE

No support No

Opera

Full support 43

Safari

Full support Yes

WebView Android

Full support 56

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.


See also