mirror of
https://github.com/openziti/ziti.git
synced 2026-09-10 08:45:41 +00:00
64e8910a87
- 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