Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Nagle's algorithm for scsynth TCP #2613

Merged
merged 1 commit into from
Jan 18, 2017

Conversation

vivid-synth
Copy link
Member

This could use a thorough look - I'm new to working on the servers

Applications that expect real time responses can react poorly with Nagle's algorithm. Applications such as networked multiplayer video games expect that actions in the game are sent immediately, while the algorithm purposefully delays transmission, increasing bandwidth efficiency at the expense of latency. For this reason applications with low-bandwidth time-sensitive transmissions typically use TCP_NODELAY to bypass the Nagle delay.
https://en.wikipedia.org/wiki/Nagle's_algorithm

sclang and supernova appear to already do this, but scsynth appears not to (and @redFrik 's results on the mailing list seem to be consistent with that idea)

@vivid-synth
Copy link
Member Author

@Sciss
Copy link
Contributor

Sciss commented Jan 2, 2017

I see, thanks!

@nhthn nhthn added this to the 3.9 milestone Jan 2, 2017
Copy link
Member

@telephon telephon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, as far as I can tell. [OT] should the error catch be also implemented in supernova?

https://github.com/supercollider/supercollider/blob/master/server/supernova/sc/sc_osc_handler.cpp#L838

@vivid-synth
Copy link
Member Author

Great question - @timblechmann ?

@vivid-synth
Copy link
Member Author

I've added that potential patch here: #2619 . This PR should be ready independent of that.

@vivid-synth
Copy link
Member Author

Bump. This is consistent with all other TCP-sending code in SC

@nhthn nhthn merged commit b7ca1b1 into supercollider:master Jan 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants