Skip to content

feat: support full-duplex HTTP/2 requests - #1540

Merged
jlouvel merged 1 commit into
3.0from
feat/rpc-c2-http2-duplex
Oct 20, 2026
Merged

jlouvel merged 1 commit into
3.0from
feat/rpc-c2-http2-duplex

Conversation

@jlouvel

@jlouvel jlouvel commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

Implements C2 from the RPC extensions design, stacked on C1 (#1539).

  • Writes HTTP/2 request entities on a virtual thread while the calling thread waits only for response headers.
  • Preserves request entity ownership and waits for an in-flight upload before following redirects.
  • Keeps connection release gated on both request completion and response completion.
  • Adds a regression test proving the client can receive a response while the entity writer remains blocked.

Validation: mvnw -B -pl org.restlet -Dtest=HttpTrailersTestCase,Http2FullDuplexTestCase test.

@jlouvel
jlouvel added this pull request to stack #1548 October 20, 2026 12:42
@jlouvel
jlouvel force-pushed the feat/rpc-c2-http2-duplex branch from e820698 to 166d04e Compare October 20, 2026 13:04
Base automatically changed from feat/rpc-c1-trailers to 3.0 October 20, 2026 13:14
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Jerome Louvel <374450+jlouvel@users.noreply.github.com>
@jlouvel
jlouvel force-pushed the feat/rpc-c2-http2-duplex branch from 166d04e to 6fcca80 Compare October 20, 2026 13:14
@sonarqubecloud

Copy link
Copy Markdown

@jlouvel
jlouvel merged commit b124f2d into 3.0 Oct 20, 2026
3 checks passed
@jlouvel
jlouvel deleted the feat/rpc-c2-http2-duplex branch October 20, 2026 13:31
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