Commit 937c79e
committed
Remove the lock around the
We were seeing a deadlock where at least one Tokio task was blocked on this lock.
@jsdt had some hypotheses about the specific Tokio behaviors that were causing this,
but the important thing is that the lock is not necessary at all,
and so we can remove it without delving into the dark depths of the Tokio scheduler.
As part of this change, I split the send worker into being its own struct.
That struct now holds its own copy of the clients map.
This also simplifies the code that cleans up the send queue length metric.ClientsMap in the SubscriptionManager
1 parent c982195 commit 937c79e
1 file changed
Lines changed: 176 additions & 102 deletions
0 commit comments