4.1.19. addIceCandidate
4.1.19. addIceCandidate
Il metodo addIceCandidate fornisce un aggiornamento all'agente ICE tramite un oggetto IceCandidate (Sezione 3.5.2.1). Se il campo candidate dell'IceCandidate è non nullo, l'IceCandidate viene trattato come un nuovo candidato ICE remoto, che verrà aggiunto alla descrizione remota corrente e/o in sospeso secondo le regole definite per Trickle ICE. Altrimenti, l'IceCandidate viene trattato come un'indicazione di fine candidati, come definito in [RFC8838], Sezione 14.
In entrambi i casi, l'indice della sezione "m=", i campi MID e ufrag dall'IceCandidate fornito vengono utilizzati per determinare a quale sezione "m=" e generazione di candidati ICE appartiene l'IceCandidate, come descritto nella Sezione 3.5.2.1 sopra. Nel caso di un'indicazione di fine candidati, i valori null per l'indice della sezione "m=" e i campi MID vengono interpretati come significato che l'indicazione si applica a tutte le sezioni "m=" nella generazione di candidati ICE specificata. Tuttavia, se entrambi i campi sono null per un nuovo candidato remoto, questo DEVE essere trattato come una condizione non valida, come specificato di seguito.
Se qualsiasi campo IceCandidate contiene valori non validi o si verifica un errore durante l'elaborazione dell'oggetto IceCandidate, l'IceCandidate fornito DEVE essere ignorato e DEVE essere restituito un errore.
Altrimenti, il nuovo candidato remoto o l'indicazione di fine candidati viene fornito all'agente ICE. Nel caso di un nuovo candidato remoto, verranno inviati controlli di connettività al nuovo candidato, supponendo che setLocalDescription sia già stato chiamato per inizializzare il processo di raccolta ICE.