Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

Backward Compatible - Http3SettingsFrame abstraction (#15835) - #353

Merged
normanmaurer merged 1 commit into
mainfrom
settings
Nov 13, 2025
Merged

Backward Compatible - Http3SettingsFrame abstraction (#15835)#353
normanmaurer merged 1 commit into
mainfrom
settings

Conversation

@normanmaurer

Copy link
Copy Markdown
Member
  • Provide a cleaner, more maintainable implementation of Http3SettingsFrame.
  • Replace the previous untyped LongObjectHashMap-based approach with a typed Http3Settings abstraction.
  • Improve API clarity and future extensibility for HTTP/3 settings handling (similar to Http2Settings)

  • Introduced Http3Settings class to encapsulate and manage HTTP/3 settings.
  • Deprecated legacy untyped accessors (get(), put()) in favor of typed methods such as qpackMaxTableCapacity() and enableConnectProtocol().
  • Updated DefaultHttp3SettingsFrame to use the new Http3Settings internally.
  • Added detailed Javadoc to guide migration to the new typed API.
  • Added comprehensive test coverage for Http3Settings and its integration with Http3SettingsFrame.

  • Backward-compatible – existing code using get()/put() still works (marked deprecated).
  • Forward-compatible – encourages use of typed accessors.
  • No behavioral change – internal structure and API clarity improved only.

Port of netty/netty#15835

* [x] Provide a cleaner, more maintainable implementation of
`Http3SettingsFrame`.
* [x] Replace the previous untyped `LongObjectHashMap`-based approach
with a typed `Http3Settings` abstraction.
* [x] Improve API clarity and future extensibility for HTTP/3 settings
handling (similar to Http2Settings)

---

* [x] Introduced `Http3Settings` class to encapsulate and manage HTTP/3
settings.
* [x] Deprecated legacy untyped accessors (`get()`, `put()`) in favor of
typed methods such as `qpackMaxTableCapacity()` and
`enableConnectProtocol()`.
* [x] Updated `DefaultHttp3SettingsFrame` to use the new `Http3Settings`
internally.
* [x] Added detailed Javadoc to guide migration to the new typed API.
* [x] Added comprehensive test coverage for `Http3Settings` and its
integration with `Http3SettingsFrame`.

---

* [x] **Backward-compatible** – existing code using `get()`/`put()`
still works (marked deprecated).
* [x] **Forward-compatible** – encourages use of typed accessors.
* [x] **No behavioral change** – internal structure and API clarity
improved only.

---

Port of netty/netty#15835
@normanmaurer normanmaurer added this to the 0.0.31.Final milestone Nov 13, 2025
@normanmaurer
normanmaurer merged commit e44b34e into main Nov 13, 2025
5 checks passed
@normanmaurer
normanmaurer deleted the settings branch November 13, 2025 15:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant