-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat(tcp): make TCP_NODELAY the default #4890
Copy link
Copy link
Labels
decision-pendingMarks issues where a decision is pending before we can move forward.Marks issues where a decision is pending before we can move forward.difficulty:easygetting-startedIssues that can be tackled if you don't know the internals of libp2p very wellIssues that can be tackled if you don't know the internals of libp2p very wellhelp wanted
Milestone
Metadata
Metadata
Assignees
Labels
decision-pendingMarks issues where a decision is pending before we can move forward.Marks issues where a decision is pending before we can move forward.difficulty:easygetting-startedIssues that can be tackled if you don't know the internals of libp2p very wellIssues that can be tackled if you don't know the internals of libp2p very wellhelp wanted
Type
Fields
Give feedbackNo fields configured for issues without a type.
Description
Make
TCP_NODELAYthe default. In other words, disable Nagle's algorithm.Rational of Golang setting
TCP_NODELAYas default: golang/go#57530Motivation
Trading low latency over throughput, especially when sending small messages.
Already our defacto default, see various examples using it: https://github.com/search?q=repo%3Alibp2p%2Frust-libp2p%20nodelay&type=code
Current Implementation
TCP_NODELAYis not the default.rust-libp2p/transports/tcp/src/lib.rs
Line 168 in a7d4cb3
Are you planning to do it yourself in a pull request ?
No