mirror of
https://github.com/urbit/shrub.git
synced 2024-12-01 06:35:32 +03:00
1d4ee5a7b5
In order to curb event queue growth when a client for whatever reason isn't acking the events we send out, we implement a mechanism for detecting such "clogging", and proactively kick subscriptions which are adding too many events to the queue. If the client hasn't sent an ack for ~s30, any subscription that accrues more than 50 unacked %facts gets closed to prevent further buildup. Upon reconnecting, the client will see %kick for the relevant subscriptions and can open a new subscription as appropriate. Includes a simple test for this behavior, and updates /app/dbug to be able to display the newly tracked statistics. |
||
---|---|---|
.. | ||
bug | ||
lib | ||
sys |