str0m: Adding new candidates and invalidating all previous ones flaps instantly to disconnected
When roaming networks, we learn about new interfaces and retire old ones. It appears that, if str0m is told about all of this information at once (i.e. invalidate
all current candidates and add new ones), it instantly flaps to Disconnected
instead of trying the new candidate pairs.
I think this is due to evaluate_state
being called at the very top of handle_timeout
: https://github.com/algesten/str0m/blob/aeda389f22d534729249dbae90cdabb2858252ce/src/ice/agent.rs#L851
Is this on purpose? I would have expected str0m first start testing all newly added candidates before concluding that we are Disconnected
.
About this issue
- Original URL
- State: closed
- Created 3 months ago
- Comments: 18 (18 by maintainers)
Some preliminary testing suggests that this works quite well! Invalidating the old candidate and delaying acting on
Disconnected
for a few seconds means we can roam quite quickly! 😃