-
-
Notifications
You must be signed in to change notification settings - Fork 416
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
RFC: TCP Backpressure hooks #1311
Comments
I want to get this integrated into our code at work and no one has grabbed it, so, assigning myself. |
@jemc after giving it more consideration (as it was left open as part of the RFC), I think based on how we are using at Sendence that from a performance standpoint, having two notifier methods related to outgoing connections experiencing backpressure is the correct way to go. almost all our code does an fun ref throttled(conn: TCPConnection ref, status: Bool) =>
"""
Called when there is a change in backpressure status of the connection
"""
None methods that we have. I'm thinking thoughts? |
@jemc testing question as this RFC was before we implemented "how do we test this". I'm thinking that for read backpressure hook testing, the test can be to set we test write backpressure by muting a receiving connection, trying to write to it and verifying that the write backpressure test here might need to be two tests. thoughts? |
Regarding splitting Back before we had the RFC process I was working on implementing this feature, and having clean tests was the part that was holding me up. I was working on tests basically like what you're describing, so it sounds right to me. |
I like released when you know the context is "backpressure" but that isn't at all clear and I was really hesitant to use "release". I'm good with "unthrottled" although I wish we had something better. I'm updating to "unthrottled" |
@jemc this write test won't work...
the amount of data we need to send in order to get throttled is unknown. its based on OS buffer sizes. I'm not sure how to test throttling. thoughts? we could send a ton of data to make sure we can overpower just about any buffer but that seems mighty problematic and not something i would want to do. |
If we don't know exactly how much data it takes to throttle, could we try a strategy of sending data on the writer end until the |
@jemc i think that would involve a really long timeout which could still be hit without triggering the condition. still seems flakey. |
This was resolved by #1322. |
Add support for TCP backpressure to Pony's TCPConnection actor.
https://github.com/ponylang/rfcs/blob/master/text/0017-tcp-backpressure.md
The text was updated successfully, but these errors were encountered: