Skip to content

Release QUIC read flow control as the WT app reads - #659

Open
afrind wants to merge 1 commit into
meta:mainfrom
afrind:export-D128780069
Open

afrind wants to merge 1 commit into
meta:mainfrom
afrind:export-D128780069

Conversation

@afrind

@afrind afrind commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Summary: QuicWtSession drained QUIC streams eagerly into its own buffer, so QUIC released flow control credit for data the app had not read yet. The WT buffer size was also fixed at 64KB, unrelated to the QUIC window. Now each read side stream uses mvfst manual read mode, the WT buffer matches the QUIC stream window from the transport settings, and credit is released as the app consumes data. When the app stops reading, any buffered unread data counts as consumed, so its connection credit is not lost if QUIC already removed the stream.

Differential Revision: D128780069

Summary: QuicWtSession drained QUIC streams eagerly into its own buffer, so QUIC released flow control credit for data the app had not read yet. The WT buffer size was also fixed at 64KB, unrelated to the QUIC window. Now each read side stream uses mvfst manual read mode, the WT buffer matches the QUIC stream window from the transport settings, and credit is released as the app consumes data. When the app stops reading, any buffered unread data counts as consumed, so its connection credit is not lost if QUIC already removed the stream.

Differential Revision: D128780069
@meta-cla meta-cla Bot added the CLA Signed label Oct 31, 2026
@meta-codesync

meta-codesync Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

@afrind has exported this pull request. If you are a Meta employee, you can view the originating Diff in D128780069.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant