3.5.4. ICE Candidate Pool (Pool di candidati ICE)
3.5.4. ICE Candidate Pool (Pool di candidati ICE)
Le applicazioni JSEP tipicamente informano l'implementazione JSEP di iniziare la raccolta ICE tramite le informazioni fornite a setLocalDescription, poiché la descrizione locale indica il numero di componenti ICE che saranno necessari e per i quali devono essere raccolti i candidati. Tuttavia, per accelerare i casi in cui l'applicazione conosce in anticipo il numero di componenti ICE da utilizzare, può chiedere all'implementazione di raccogliere un pool di potenziali candidati ICE per contribuire a garantire una configurazione rapida dei media.
Quando setLocalDescription viene finalmente chiamato e l'implementazione JSEP si prepara a raccogliere i candidati ICE necessari, DOVREBBE iniziare controllando se ci sono candidati disponibili nel pool. Se ci sono candidati nel pool, DOVREBBERO essere consegnati all'applicazione immediatamente tramite l'evento candidato ICE. Se il pool si esaurisce, o perché viene utilizzato un numero di componenti ICE maggiore del previsto o perché il pool non ha avuto abbastanza tempo per raccogliere candidati, i candidati rimanenti vengono raccolti come al solito. Questo si verifica solo per il primo scambio offerta/risposta, dopo di che il pool di candidati viene svuotato e non viene più utilizzato.
Un esempio di dove questo concetto è utile è un'applicazione che si aspetta una chiamata in arrivo in un momento futuro e vuole minimizzare il tempo necessario per stabilire la connettività, per evitare il taglio dei media iniziali. Pre-raccogliendo i candidati nel pool, può scambiare e iniziare a inviare controlli di connettività da questi candidati quasi immediatamente alla ricezione di una chiamata. Si noti tuttavia che mantenendo questi candidati pre-raccolti, che verranno mantenuti attivi finché potrebbero essere necessari, l'applicazione consumerà risorse sui server STUN/TURN che sta utilizzando. ("STUN" sta per "Session Traversal Utilities for NAT", utilità di attraversamento di sessione per NAT.)