In the RTCIceGatherer interface, state transition is not well defined. For example: Can a closed gatherer go back to gathering? A state transition diagram would probably help.
Furthermore, the gather method of the RTCIceGatherer does not clarify in which state it can be called without raising an error.
I do not believe that an IceGatherer in the "closed" state can transition to another state (e.g. "closed" is terminal). Also, in the "closed" state, calls to gather(), getLocalParameters(), getLocalCandidates() and createAssociatedGatherer() should cause an InvalidStateError exception to be thrown.
State Transitions for RTCIceGatherer
Fix for #606
Yes, closed is terminal.
gather() can called from any state except closed - I think.
We should be clear that closed state can only happen by manual programmer intervention and it cannot happen automatically.