Zum Hauptinhalt springen

4.1.19. addIceCandidate

4.1.19. addIceCandidate

Die addIceCandidate-Methode stellt dem ICE-Agenten über ein IceCandidate-Objekt (Abschnitt 3.5.2.1) ein Update zur Verfügung. Wenn das Kandidatenfeld des IceCandidate nicht null ist, wird der IceCandidate als neuer entfernter ICE-Kandidat behandelt, der gemäß den für Trickle ICE definierten Regeln zur aktuellen und/oder ausstehenden entfernten Beschreibung hinzugefügt wird. Andernfalls wird der IceCandidate als End-of-Candidates-Anzeige behandelt, wie in [RFC8838], Abschnitt 14 definiert.

In beiden Fällen werden der "m="-Abschnittsindex, die MID- und ufrag-Felder des bereitgestellten IceCandidate verwendet, um zu bestimmen, zu welchem "m="-Abschnitt und welcher ICE-Kandidatengeneration der IceCandidate gehört, wie in Abschnitt 3.5.2.1 oben beschrieben. Im Falle einer End-of-Candidates-Anzeige werden Nullwerte für den "m="-Abschnittsindex und die MID-Felder so interpretiert, dass die Anzeige für alle "m="-Abschnitte in der angegebenen ICE-Kandidatengeneration gilt. Wenn jedoch beide Felder für einen neuen entfernten Kandidaten null sind, MUSS dies als ungültige Bedingung behandelt werden, wie unten angegeben.

Wenn IceCandidate-Felder ungültige Werte enthalten oder ein Fehler während der Verarbeitung des IceCandidate-Objekts auftritt, MUSS der bereitgestellte IceCandidate ignoriert werden und ein Fehler MUSS zurückgegeben werden.

Andernfalls wird der neue entfernte Kandidat oder die End-of-Candidates-Anzeige dem ICE-Agenten bereitgestellt. Im Falle eines neuen entfernten Kandidaten werden Konnektivitätsprüfungen an den neuen Kandidaten gesendet, vorausgesetzt, setLocalDescription wurde bereits aufgerufen, um den ICE-Sammlungsprozess zu initialisieren.