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

workaround of sync for SIO #152

Merged
merged 2 commits into from
Nov 14, 2024
Merged

workaround of sync for SIO #152

merged 2 commits into from
Nov 14, 2024

Conversation

kazu-yamamoto
Copy link
Owner

@khibino For SIO, the sender enqueues output again by itself.
This means the stream TX window is completely ignored.

@kazu-yamamoto
Copy link
Owner Author

@edsko 6331324 brings back the same semantics of sendRequest as v5.3.5.

@kazu-yamamoto
Copy link
Owner Author

6331324 has been cherry-picked onto master as 6c063a9.

@edsko
Copy link
Collaborator

edsko commented Nov 14, 2024

I'll try and find some time soon to test this out (and also comment further on the syncWithSender issue).

@kazu-yamamoto
Copy link
Owner Author

I'm going to merge this PR anyway.

@kazu-yamamoto kazu-yamamoto merged commit a04bb5c into main Nov 14, 2024
10 checks passed
@kazu-yamamoto kazu-yamamoto deleted the abst-sync branch November 14, 2024 23:56
@edsko
Copy link
Collaborator

edsko commented Nov 16, 2024

@kazu-yamamoto Can confirm that the grapesy test suite passes with current main (7036a34), with no workarounds required on our side. Thanks! :)

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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants