-
Notifications
You must be signed in to change notification settings - Fork 22
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
allocSimpleConfig
should take a timeout parameter, and timeouts should be optional
#112
Comments
@kazu-yamamoto I'm not entirely sure yet if I am blocked on this; on 64-bit machines at least I can workaround the problem of not having optional timeouts by initializing my own If it turns out I am blocked on this, I am happy submit a PR with a fix, but in the case I guess we need to think about what a suitable design would be. |
eda08bb should fix this. |
eda08bb only partially addresses this: although it makes the timeout configurable, it does not make it optional. Timeouts can be disabled on 64-bit machine by setting the timeout really high, but on 32-bit no value is high enough (max timeout would be roughly 30 mins). I am not sure what the rationale is for the timeouts, but perhaps one way forward is to implement keep-alive pings (#149), and just like the timeout is "reset" in the current That said, making the WAI timeout manager optional would be at least one way to make the race condition in #153 (comment) go away, at least in deployments that don't need the WAI manager (like |
Sorry but I did not understand your request correctly. OK, you want to disable the timeout action.
Ping is good. Please go ahead.
I believe the race is already fixed in |
If you prefer that over Note that we are not blocked on this, we can workaround the problem on 64-bit machines, and the client does not require support for 32-bit machines, so it's not urgent. However, the ping support may be required; I might have some time to implement that, maybe early next year. |
I think yesodweb/wai#1017 will close this. |
Let's close. |
Thanks @kazu-yamamoto :) |
At the moment,
allocSimpleConfig
hardcodes theTimeManager
timeout to 30 seconds:http2/Network/HTTP2/H2/Config.hs
Line 20 in b8f2268
This should instead be a parameter, and that parameter should not be of type
Int
, but rather of typeMaybe Int
: not applications want to impose timeouts between messages sent/received. For example, when runninggRPC
over HTTP2, it's entirely conceivable that there might be very long time intervals between messages on an open connection. Indeed, these intervals could be an hour or longer, which means that on 32-bit systems at least there is no appropriate value that can be passed toSystem.TimeManager.initialize
that would work.I will open a corresponding ticket also in
http2-tls
.The text was updated successfully, but these errors were encountered: