RTCDataChannel: Eigenschaft bufferedAmountLowThreshold

Baseline Widely available

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

Die RTCDataChannel-Eigenschaft bufferedAmountLowThreshold wird verwendet, um die Anzahl der Bytes gepufferter ausgehender Daten zu spezifizieren, die als "niedrig" angesehen wird. Der Standardwert ist 0. Wenn die Anzahl der gepufferten ausgehenden Bytes, wie durch die bufferedAmount-Eigenschaft angegeben, auf diesen Wert fällt oder darunter liegt, wird ein bufferedamountlow-Ereignis ausgelöst. Dieses Ereignis kann beispielsweise verwendet werden, um Code zu implementieren, der mehr Nachrichten zur Übertragung in die Warteschlange stellt, wann immer Platz zum Puffern vorhanden ist. Listener können mit onbufferedamountlow oder addEventListener() hinzugefügt werden.

Der User-Agent kann den Prozess des tatsächlichen Sendens von Daten auf beliebige Weise implementieren; dies kann periodisch während der Ereignisschleife oder wirklich asynchron geschehen. Wenn Nachrichten tatsächlich gesendet werden, wird dieser Wert entsprechend reduziert.

Note: bufferedamountlow-Ereignisse werden nicht ausgelöst, nachdem der Datenkanal geschlossen wurde.

Wert

Die Anzahl der in die Warteschlange gestellten ausgehenden Datenbytes, unterhalb derer der Puffer als "niedrig" angesehen wird.

Beispiel

In diesem Codeausschnitt wird bufferedAmountLowThreshold auf 64kB gesetzt, und ein Handler für das bufferedamountlow-Ereignis wird eingerichtet, indem die onbufferedamountlow-Eigenschaft auf eine Funktion gesetzt wird, die mehr Daten in den Puffer senden soll, indem sie send() aufruft.

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

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

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcdatachannel-bufferedamountlowthreshold

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch