Skip to content

Add Support for Multiplexing HTTP/2 #2144

Merged
hyperxpro merged 6 commits intomainfrom
http2
Mar 14, 2026
Merged

Add Support for Multiplexing HTTP/2 #2144
hyperxpro merged 6 commits intomainfrom
http2

Conversation

@hyperxpro
Copy link
Member

@hyperxpro hyperxpro commented Mar 10, 2026

Motivation:
Add HTTP/2 multiplexing support to handle concurrent requests as streams over shared connections, layered on top of the existing connection pool infrastructure.

Motivation:

  • Added default HTTP/2 config methods to AsyncHttpClientConfig — keeps backward compatibility with custom implementations
  • Added Http2Handler, Http2PingHandler, Http2ContentDecompressor — handles H2 frames, keepalive, and decompression
  • Added Http2ConnectionState and H2 connection registry in ChannelManager — enables stream multiplexing with GOAWAY/MAX_CONCURRENT_STREAMS tracking
  • Added ALPN in DefaultSslEngineFactory and pipeline upgrade in NettyConnectListener — negotiates H2 transparently on HTTPS
  • Added HttpProtocol enum and Response.getProtocol() — exposes negotiated protocol to callers

@hyperxpro
Copy link
Member Author

@sullis @slandelle - PTAL :)

@hyperxpro hyperxpro merged commit b54ed09 into main Mar 14, 2026
6 checks passed
@hyperxpro hyperxpro deleted the http2 branch March 14, 2026 21:45
This was referenced Mar 14, 2026
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.

1 participant