Issue 164: IceGatherer States

While we have RTCIceTransportState to indicate the state of the RTCIceTransport, there is no equivalent state variable for the RTCIceGatherer.

When the RTCIceGatherer object is constructed, it begins to actively gather candidates. When "end of candidates" is delivered, candidate gathering has been completed.

However, recently continuous gathering has been proposed:
http://juberti.github.io/draughts/nombis/draft-uberti-mmusic-nombis.html

Where continuous gathering is allowed, there can be an intermediate state where the RTCIceGatherer is idle. The addition of an IceGathererStates attribute could allow this to be indicated:

enum IceGathererStates {
"gathering", // actively gathering candidates
"idle", // candidates gathered but awake for connectivity checks
"sleeping" // non warm / used candidates have been pruned
};

In addition, an event would be needed for changes to the IceGatherer state:

partial interface RTCIceGatherer {
attribute EventHandler? onstatechanged;
};

Received on Wednesday, 3 December 2014 00:18:29 UTC