RTCDataChannel: bufferedAmountLowThreshold property
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
TheRTCDataChannel
propertybufferedAmountLowThreshold
is used to specify the numberof bytes of buffered outgoing data that is considered "low." The default value is0. When the number of buffered outgoing bytes, as indicated by thebufferedAmount
property, falls to orbelow this value, abufferedamountlow
event is fired. This event may beused, for example, to implement code which queues more messages to be sent wheneverthere's room to buffer them. Listeners may be added withonbufferedamountlow
oraddEventListener()
.
The user agent may implement the process of actually sending data in any way itchooses; this may be done periodically during the event loop or truly asynchronously. Asmessages are actually sent, this value is reduced accordingly.
Note:bufferedamountlow
events are not fired after the data channel is closed.
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 ahandler for thebufferedamountlow
event is established by setting theonbufferedamountlow
property to a function which shouldsend more data into the buffer by callingsend()
.
const dc = peerConnection.createDataChannel("File Transfer");dc.bufferedAmountLowThreshold = 65535;dc.onbufferedamountlow = () => { /* use send() to queue more data to be sent */};
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcdatachannel-bufferedamountlowthreshold |