You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[receive] announce_timeout causes early break in check_timeouts and does not clean up all timed out universes #44
Describe the bug
When announce_timeout is enabled, the timeout scan stops prematurely and does not reliably check all sources and universes. Due to an inverted loop-break condition, only the first source in the map may be checked. Even after correcting this condition, the function removes and reports only a single timed-out universe per call, leaving other expired universes and sources unchecked until future calls.
Expected behaviour
All sources and universes should be scanned for timeouts on each invocation. Any universe whose last_recv.elapsed() is greater than or equal to the configured timeout (per ANSI E1.31-2018 data loss and discovery timeout rules) should be removed. If timeout announcements are enabled, the implementation should either report all detected timeouts or clearly document and consistently enforce a “one timeout per call” policy while still ensuring all expired state is eventually cleaned up.
Addressing this should, at a minimum, cause a +x.x.1 version change. The best way to solve would probably be to return a list of all timed-out universe(s), which would be an API change and warrant a +x.1.x version change.
changed the title [-][BUG] announce_timeout causes early break in check_timeouts and does not clean up all timed out universes[/-][+][receive] announce_timeout causes early break in check_timeouts and does not clean up all timed out universes[/+]on Dec 30, 2025
Activity
bruingineer commentedon Dec 29, 2025
Addressing this should, at a minimum, cause a +x.x.1 version change. The best way to solve would probably be to return a list of all timed-out universe(s), which would be an API change and warrant a +x.1.x version change.
[-][BUG] announce_timeout causes early break in check_timeouts and does not clean up all timed out universes[/-][+][receive] announce_timeout causes early break in check_timeouts and does not clean up all timed out universes[/+]