Files
Paul Lorenz 64e8910a87 Deliver router ctrl events to each listener in order. Fixes #4369
- adds ctrlEventQueue, a per-listener queue drained one event at a time on an on-demand goroutine, so listeners see events in emission order and a slow listener delays only itself
- replaces the goroutine-per-listener fan-out in notifyOfChange with enqueueing on each listener's queue
- holds the per-channel connectivityState lock from deciding a connectivity edge through queuing its event, so a disconnect is always queued before the reconnect that follows it
- collects ctrl events in tests under a lock instead of draining a channel inside Eventually conditions, removing a data race in the tests
- tests that the queue preserves order past a slow listener and resumes after draining
2026-09-08 15:25:02 -04:00
..
2026-01-28 12:34:10 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 12:34:10 -05:00