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

HTTP/3, ngtcp2, upload EAGAIN handling #11390

Closed
wants to merge 3 commits into from

Conversation

icing
Copy link
Contributor

@icing icing commented Jun 27, 2023

  • refs curl: (95) error while uploading file to nginx with http3 #11389 where IDLE timeouts on upload are reported
  • reword ngtcp2 expiry handling to apply to both send+recv calls into the filter
  • EAGAIN uploads similar to the recent changes in HTTP/2, e.g. report success only when send data was ACKed.
  • HOLD sending of EAGAINed uploads to avoid cpu busy loops
  • rename internal function for consistency with HTTP/2 implementation

Copy link

@bneradt bneradt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some word smithing.

lib/vquic/curl_ngtcp2.c Outdated Show resolved Hide resolved
lib/vquic/curl_ngtcp2.c Outdated Show resolved Hide resolved
lib/vquic/curl_ngtcp2.c Outdated Show resolved Hide resolved
bneradt added a commit to bneradt/proxy-verifier that referenced this pull request Jun 30, 2023
Pull in ngtcp2 curl expiry logic from curl master and the currently
unmerged curl/curl#11390.
bneradt added a commit to yahoo/proxy-verifier that referenced this pull request Jul 5, 2023
Pull in ngtcp2 curl expiry logic from curl master and the currently
unmerged curl/curl#11390.
@bagder
Copy link
Member

bagder commented Jul 8, 2023

@icing if you take @bneradt's spelling fixes I'm ready to merge...

icing added 3 commits July 9, 2023 09:28
- refs curl#11389 where IDLE timeouts on  upload are reported
- reword ngtcp2 expiry handling to apply to both send+recv
  calls into the filter
- EAGAIN uploads similar to the recent changes in HTTP/2, e.g.
  report success only when send data was ACKed.
- HOLD sending of EAGAINed uploads to avoid cpu busy loops
- rename internal function for consistency with HTTP/2
  implementation
before the ACKing of the upload has been checked. Do send-on-close
check only when not handling EGAINed data.
@icing icing force-pushed the h3-upload-blocked-handling branch from f569c88 to 8864cc5 Compare July 9, 2023 07:37
@bagder bagder closed this in 15b1313 Jul 9, 2023
@bagder
Copy link
Member

bagder commented Jul 9, 2023

Thanks!

bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
- refs curl#11389 where IDLE timeouts on upload are reported
- reword ngtcp2 expiry handling to apply to both send+recv
  calls into the filter
- EAGAIN uploads similar to the recent changes in HTTP/2, e.g.
  report success only when send data was ACKed.
- HOLD sending of EAGAINed uploads to avoid cpu busy loops
- rename internal function for consistency with HTTP/2
  implementation

Fixes curl#11389
Closes curl#11390
ptitSeb pushed a commit to wasix-org/curl that referenced this pull request Sep 25, 2023
- refs curl#11389 where IDLE timeouts on upload are reported
- reword ngtcp2 expiry handling to apply to both send+recv
  calls into the filter
- EAGAIN uploads similar to the recent changes in HTTP/2, e.g.
  report success only when send data was ACKed.
- HOLD sending of EAGAINed uploads to avoid cpu busy loops
- rename internal function for consistency with HTTP/2
  implementation

Fixes curl#11389
Closes curl#11390
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HTTP/3 h3 or quic related
Development

Successfully merging this pull request may close these issues.

None yet

3 participants