4.1.10.2. Rollback (Annullamento)
4.1.10.2. Rollback (Annullamento)
In determinate situazioni, può essere desiderabile "annullare" una modifica apportata a setLocalDescription o setRemoteDescription. Consideriamo un caso in cui una chiamata è in corso e un lato desidera modificare alcuni dei parametri della sessione; quel lato genera un'offerta aggiornata e quindi chiama setLocalDescription. Tuttavia, il lato remoto, prima o dopo setRemoteDescription, decide di non voler accettare i nuovi parametri e invia un messaggio di rifiuto all'offerente. Ora, l'offerente, e possibilmente anche il risponditore, deve tornare a uno stato "stable" e alla descrizione locale/remota precedente. Per supportare questo, introduciamo il concetto di "rollback", che scarta qualsiasi modifica proposta alla sessione, riportando la macchina a stati allo stato "stable". Un rollback viene eseguito fornendo una descrizione della sessione di tipo "rollback" con contenuto vuoto a setLocalDescription o setRemoteDescription.