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

Introduce HTTP/2 API to batch frames #3766

Closed
sbordet opened this issue Jun 11, 2019 · 0 comments · Fixed by #5222
Closed

Introduce HTTP/2 API to batch frames #3766

sbordet opened this issue Jun 11, 2019 · 0 comments · Fixed by #5222
Assignees

Comments

@sbordet
Copy link
Contributor

sbordet commented Jun 11, 2019

It would be great if we had a HTTP/2 API to batch multiple frames with a single callback.
This is necessary for example to send request + data, or data + trailers, while currently these operations must be performed individually and may result in multiple TCP writes.
See for example HttpSenderOverHTTP2.

@sbordet sbordet added this to the 10.0.x milestone Jun 11, 2019
@sbordet sbordet removed this from the 10.0.x milestone Aug 28, 2020
@sbordet sbordet self-assigned this Aug 28, 2020
sbordet added a commit that referenced this issue Sep 1, 2020
Introduced Stream.FrameList to hold HEADERS+DATA+HEADERS frames.
These are often used by the client and by the server when the
request/response content is known and FrameList will allow to
send them in a single TCP write, rather than multiple ones.

Rewritten HttpSenderOverHTTP2.sendHeaders() and
HttpTransportOverHTTP2.sendHeaders() to take advantage of
FrameList.

Now using ConcurrentHashMap as a client context, because
with DEBUG logging enabled it may be access concurrently.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
@sbordet sbordet linked a pull request Sep 1, 2020 that will close this issue
@sbordet sbordet added this to To do in Jetty 9.4.32 via automation Sep 1, 2020
sbordet added a commit that referenced this issue Sep 1, 2020
Fixed HttpTransportOverHTTP2.sendHeaders() - HEADERS
frame for trailers was missing the stream id.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
sbordet added a commit that referenced this issue Sep 9, 2020
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Jetty 9.4.32 automation moved this from To do to Done Sep 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Jetty 9.4.32
  
Done
Development

Successfully merging a pull request may close this issue.

2 participants