Skip to content

Cache connection config in the HTTP/1, HTTP/2 and HTTP/3 loop records#78

Merged
williamthome merged 4 commits into
mainfrom
feat/cache-loop-config
Jun 2, 2026
Merged

Cache connection config in the HTTP/1, HTTP/2 and HTTP/3 loop records#78
williamthome merged 4 commits into
mainfrom
feat/cache-loop-config

Conversation

@williamthome
Copy link
Copy Markdown
Member

@williamthome williamthome commented Jun 2, 2026

Description

Finishes hoisting connection-stable config out of the per-request and per-stream hot paths into the connection loop records, so the steady state pattern-matches cached fields instead of re-reading proto_opts every time. Covers HTTP/1 (request/keep-alive timeouts, body buffering, hibernate_after, alt_svc), HTTP/2 (hibernate_after, alt_svc, request-slot counters), and HTTP/3 (request-slot counters); roadrunner_http:auto_headers/2 and the roadrunner_conn request-slot helpers now take the resolved values directly.

This is a consistency change, not a measurable throughput win: the reads it removes are O(1) map probes already in the preferred pattern-match idiom, so any delta sits inside bench variance.

@williamthome williamthome merged commit 2813290 into main Jun 2, 2026
11 checks passed
@williamthome williamthome deleted the feat/cache-loop-config branch June 2, 2026 20:59
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