-
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
Recover rxflow on closing #126
Merged
kazu-yamamoto
merged 3 commits into
kazu-yamamoto:main
from
FinleyMcIlwaine:finley/recover-rxflow-on-closing
Jun 24, 2024
Merged
Recover rxflow on closing #126
kazu-yamamoto
merged 3 commits into
kazu-yamamoto:main
from
FinleyMcIlwaine:finley/recover-rxflow-on-closing
Jun 24, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Jun 24, 2024
kazu-yamamoto
approved these changes
Jun 24, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!
I noticed that WindowUpdates are not sent but guessed that is not an issue. |
Thank you for your contribution! |
Thank you! |
netbsd-srcmastr
pushed a commit
to NetBSD/pkgsrc
that referenced
this pull request
Jan 30, 2025
# ChangeLog for http2 ## 5.3.9 * Using `ThreadManager` of `time-manager`. ## 5.3.8 * `forkManagedTimeout` ensures that only one asynchronous exception is thrown. Fixing the thread leak via `Weak ThreadId` and `modifyTVar'`. [#156](kazu-yamamoto/http2#156) ## 5.3.7 * Using `withHandle` of time-manager. * Getting `Handle` for each thread. * Providing allocSimpleConfig' to enable customizing WAI tiemout manager. * Monitor option (-m) for h2c-client and h2c-server. ## 5.3.6 * Making `runIO` friendly with the new synchronism mechanism. [#152](kazu-yamamoto/http2#152) * Re-throwing asynchronous exceptions to prevent thread leak. * Simplifying the synchronism mechanism between workers and the sender. [#148](kazu-yamamoto/http2#148) ## 5.3.5 * Using `http-semantics` v0.3. * Deprecating `numberOfWorkers`. * Removing `unliftio`. * Avoid `undefined` in client. [#146](kazu-yamamoto/http2#146) ## 5.3.4 * Support stream cancellation [#142](kazu-yamamoto/http2#142) ## 5.3.3 * Enclosing IPv6 literal authority with square brackets. [#143](kazu-yamamoto/http2#143) ## 5.3.2 * Avoid unnecessary empty data frames at end of stream [#140](kazu-yamamoto/http2#140) * Removing unnecessary API from ServerIO ## 5.3.1 * Fix treatment of async exceptions [#138](kazu-yamamoto/http2#138) * Avoid race condition [#137](kazu-yamamoto/http2#137) ## 5.3.0 * New server architecture: spawning worker on demand instead of the worker pool. This reduce huge numbers of threads for streaming into only 2. No API changes but workers do not terminate quicly. Rather workers collaborate with the sender after queuing a response and finish after all response data are sent. * All threads are labeled with `labelThread`. You can see them by `listThreas` if necessary. ## 5.2.6 * Recover rxflow on closing. [#126](kazu-yamamoto/http2#126) * Fixing ClientSpec for stream errors. * Allowing negative window. (h2spec http2/6.9.2) * Update for latest http-semantics [#122](kazu-yamamoto/http2#124) ## 5.2.5 * Setting peer initial window size properly. [#123](kazu-yamamoto/http2#123) ## 5.2.4 * Update for latest http-semantics [#122](kazu-yamamoto/http2#122) * Measuring performance concurrently for h2c-client ## 5.2.3 * Update for latest http-semantics [#120](kazu-yamamoto/http2#120) * Enable containers 0.7 (ghc 9.10) [#117](kazu-yamamoto/http2#117) ## 5.2.2 * Mark final chunk as final [#116](kazu-yamamoto/http2#116)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Same as #125 except we use
informWindowUpdate
inadjustRxFlow
. This causes the appropriate window updates to go through in my test case, avoiding the window exhaustion.Before this change, I didn't observe any window update frames in wireshark. With this change, I see window update frames with size increments of 528000 coming through every 33 requests, which makes sense for my test case given that the response bodies are 16000 bytes.