8. Performing Connectivity Checks (Durchführung von Konnektivitätsprüfungen)
Wie in [RFC8445] spezifiziert, werden jedes Mal, wenn Timer Ta ausgelöst wird, nur Checklisten im Zustand Laufend (Running) ausgewählt, wenn Konnektivitätsprüfungen für Kandidatenpaare geplant werden. Daher muss (MUST) ein Trickle-ICE-Agent jede Checkliste im Zustand Laufend halten, solange erwartet wird, dass Kandidatenpaare schrittweise zur Checkliste hinzugefügt werden. Danach wird der Checklistenstatus gemäß den Verfahren in [RFC8445] festgelegt.
Jedes Mal, wenn Timer Ta ausgelöst wird und eine leere Checkliste ausgewählt wird, wird für diese Liste keine Aktion durchgeführt. Ohne darauf zu warten, dass Timer Ta erneut abläuft, wählt der Agent die nächste Checkliste im Zustand Laufend gemäß Abschnitt 6.1.4.2 von [RFC8445] aus.
Abschnitt 7.2.5.4 von [RFC8445] verlangt, dass Agents Checklisten und Timer-Zustände nach Abschluss einer Konnektivitätsprüfungstransaktion aktualisieren. Während einer solchen Aktualisierung würden reguläre ICE-Agents den Zustand einer Checkliste auf Fehlgeschlagen (Failed) setzen, wenn beide der folgenden zwei Bedingungen erfüllt sind:
-
alle Paare in der Checkliste befinden sich entweder im Zustand Fehlgeschlagen (Failed) oder im Zustand Erfolgreich (Succeeded); und
-
es gibt kein Paar in der gültigen Liste für jede Komponente des Datenstroms.
Bei Trickle ICE würde die oben genannte Situation häufig auftreten, wenn das Sammeln von Kandidaten und das Tricklen noch im Gange sind, obwohl es durchaus möglich ist, dass zukünftige Prüfungen erfolgreich sein werden. Aus diesem Grund fügen Trickle-ICE-Agents der obigen Liste die folgenden Bedingungen hinzu:
-
das gesamte Sammeln von Kandidaten ist abgeschlossen, und der Agent erwartet nicht, neue lokale Kandidaten zu entdecken; und
-
der entfernte Agent hat eine End-of-Candidates-Anzeige für diese Checkliste übermittelt, wie in Abschnitt 13 beschrieben.