Passa al contenuto principale

8. Performing Connectivity Checks (Esecuzione dei controlli di connettività)

Come specificato in [RFC8445], ogni volta che il timer Ta si attiva, solo le checklist nello stato In esecuzione (Running) verranno selezionate durante la pianificazione dei controlli di connettività per le coppie di candidati. Pertanto, un agente Trickle ICE deve (MUST) mantenere ogni checklist nello stato In esecuzione finché prevede che le coppie di candidati vengano aggiunte incrementalmente alla lista. Dopo di ciò, lo stato della checklist viene impostato secondo le procedure in [RFC8445].

Ogni volta che il timer Ta si attiva e viene selezionata una checklist vuota, non viene eseguita alcuna azione per la lista. Senza attendere che il timer Ta scada di nuovo, l'agente seleziona la checklist successiva nello stato In esecuzione, conformemente alla Sezione 6.1.4.2 di [RFC8445].

La Sezione 7.2.5.4 di [RFC8445] richiede che gli agenti aggiornino le checklist e gli stati dei timer al completamento di una transazione di controllo di connettività. Durante tale aggiornamento, gli agenti ICE regolari imposterebbero lo stato di una checklist su Fallito (Failed) se entrambe le seguenti condizioni sono soddisfatte:

  • tutte le coppie nella checklist sono nello stato Fallito (Failed) o nello stato Riuscito (Succeeded); e

  • non c'è una coppia nella lista valida per ogni componente del flusso di dati.

Con Trickle ICE, la situazione sopra si verificherebbe spesso quando la raccolta dei candidati e il trickling sono ancora in corso, anche se è del tutto possibile che le future verifiche abbiano successo. Per questo motivo, gli agenti Trickle ICE aggiungono le seguenti condizioni all'elenco sopra:

  • tutta la raccolta dei candidati è completata, e l'agente non prevede di scoprire nuovi candidati locali; e

  • l'agente remoto ha trasmesso un'indicazione di fine dei candidati per questa checklist come descritto nella Sezione 13.