RTCIceCandidateStats: priority-Eigenschaft

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 priority-Eigenschaft des RTCIceCandidateStats-Dictionarys ist ein positiver Integer-Wert, der die Priorität (oder Attraktivität) des beschriebenen Kandidaten angibt.

Während der ICE-Verhandlung bei der Einrichtung einer WebRTC-Peer-Verbindung werden die vom User Agent an den entfernten Peer gemeldeten Prioritätswerte verwendet, um zu bestimmen, welche Kandidaten als "attraktiver" gelten. Je höher der Wert, desto attraktiver ist der Kandidat.

Syntax

js
priority = rtcIceCandidateStats.priority

Wert

Ein positiver Integer-Wert, der die Priorität des durch das RTCIceCandidateStats-Objekt beschriebenen RTCIceCandidate angibt. Der Wert kann zwischen 1 und 2.147.483.647 liegen.

Bestimmung der Priorität

Die ICE-Spezifikation beschreibt, wie User Agents und andere Software, die WebRTC verwenden, die Priorität berechnen sollten. Die Priorität eines Kandidaten wird unter Verwendung der folgenden Variablen als Eingaben berechnet:

  • Die Attraktivität des Kandidatentyps (lokal, server-reflexiv, peer-reflexiv oder weitergeleitet)
  • Die Attraktivität der spezifischen IP-Adresse des Kandidaten (für Mehrfachheim-Agenten)
  • Die Komponent-ID des Kandidaten (1 für RTP, 2 für RTCP)

Die Priorität eines Kandidaten wird mit der folgenden Formel berechnet (ptype ist die Priorität des Kandidatentyps und plocal ist die Priorität der IP-Adresse):

priority=224×ptype+28×plocal+(256-componentID)\mathit{priority} = 2^{24} \times p_{type} + 2^{8} \times p_{local} + \left(\right. 256 - \mathit{componentID} \left.\right)

Dies entspricht der Zuordnung der Prioritäten des Kandidatentyps, der lokalen IP und der Komponent-ID in verschiedene Bit-Bereiche innerhalb des 32-Bit-priority-Werts.

Spezifikationen

Specification
Identifiers for WebRTC's Statistics API
# dom-rtcicecandidatestats-priority

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch