Skip to content

Refactor transport layer and enhance HTTP/2/3 performance#44

Closed
st0o0 wants to merge 20 commits into
mainfrom
feature/seperate-transportlayer
Closed

Refactor transport layer and enhance HTTP/2/3 performance#44
st0o0 wants to merge 20 commits into
mainfrom
feature/seperate-transportlayer

Conversation

@st0o0
Copy link
Copy Markdown
Member

@st0o0 st0o0 commented Apr 28, 2026

No description provided.

st0o0 and others added 20 commits April 28, 2026 09:26
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Introduces `System.IO.Pipelines` for efficient byte movement, replacing direct `System.Threading.Channels` interactions in the core transport logic. This change streamlines buffer management, improves performance, and forms a key part of separating the transport layer.

- Migrates `ClientByteMover` to a `Pipe`-centric architecture, utilizing `IoBuffer` for `MemoryPool` integration.
- Updates `ClientState` to internally manage `Pipe` instances.
- Adjusts `ConnectionHandle` and `NetworkBuffer` to interoperate with the new `IoBuffer` and `Pipe` paradigm.
- Increases default HTTP/2 stream window size and max frame size, and HTTP/3 QPACK table capacity for improved performance.
- Removes `Servus.Akka` project reference from `TurboHTTP.csproj`.
- Adjust HTTP/2 flow control window update threshold for more efficient `WINDOW_UPDATE` frames.
- Optimize HPACK dynamic table lookups for header encoding by introducing an O(1) indexed cache.
- Batch multiple HTTP/2 outbound frames into a single network buffer write to reduce overhead.
- Improve HTTP/3 request body encoding to support streaming for unknown content lengths, preventing excessive memory allocation.
@st0o0 st0o0 closed this Apr 28, 2026
@st0o0 st0o0 deleted the feature/seperate-transportlayer branch April 28, 2026 10:24
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