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
Proposal: Add higher level mux
to coreutils
#8
Comments
I don't have strong feelings about where it ends up; My one request would be to drop connections that have been inactive for a significant amount of time rather than trying to keep them alive. The handshake overhead isn't bad, and keeping everything alive forever would be resource-intensive. Smart connection pooling, automatic retries, and fixing interrupted connections are solid higher-level optimizations. |
The reason why I'd like to have that in |
My general stance on reuse here is:
In this case specifically, we're at step 1; we don't yet have another repo that needs this thing, so it should live in |
When working with various types of clients (http, sql,...) they usually manage connections transparently. Meaning that they try to be smart about pooling connections and fixing interrupted connections. I think it would be useful to have a higher level
mux
incoreutils
which behaves similarly.Essentially when a
renterd
instance has 50 contracts I'd like to be able to create onemux
for each and not have to worry about them ever again. They would try to keep the TCP connection alive for a while and if the connection breaks due to being inactive for too long, they would establish a new one implicitly on the next call toNewStream
.The text was updated successfully, but these errors were encountered: