mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-25 02:57:01 -06:00
The accepting thread drained each connection it refused as busy for up to 250 ms before accepting the next, so refused peers that stayed connected without writing delayed every connection after them. Each drain now runs on a thread of its own, up to 16 at once; past that, a refused connection gets the busy reply and is closed without a drain. connection_limit_refuses_then_frees_slot now uses a 30 s idle timeout: its first client sends nothing, and under load the 300 ms timeout closed it before the third client connected.