Skip to content

Fix route() concurrency race and add socket back-pressure/drain support #4

Description

@farzam-khodajoo

Description
The MuxManager.route method has a race condition that causes duplicate frames, silent STREAM frame loss which also causes stalled downloads (downloads stuck at 0%).

In addition, the entire multiplexer layer lacks socket back-pressure and drain handling. When the sender outruns the receiver, the per-peer assembly buffer can grow indefinitely, and outbound writes can pile up without ever waiting for the OS socket buffer to drain.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions