http: HTTP/2 frames (step 2 of #72) #689
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/685-h2-frames"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 2 of #72: the RFC 9113 frame layer in
std/http/src/h2frame.trb(internal to the package, no connection, no stream state machine).isPreface, frame header, error codes, DATA, PRIORITY, RST_STREAM, PING, GOAWAY, WINDOW_UPDATE, unknown frames, streaming decoder with size and stream-id checks on the header alone.splitHeaderBlock, docs (NETWORK.md section 12 and slice 12, FIRST-PARTY.md gap 25).Tests:
std/http/tests/h2frame.test.trb(84 tests, incl. byte-exact layouts, byte-by-byte streaming, 240 generated frames). Checked locally with the nightly torb:torb checkon std/http and the test file on the VM. Native run, format check and gates are left to CI.Closes torbscript/language#685
WIP: http: HTTP/2 frames (step 2 of #72)to http: HTTP/2 frames (step 2 of #72)CI red on
32dc97a: ci / gates (tier A, linux-x64) -format --checkfails:./std/http/tests/h2frame.test.trbwould be reformatted (1 of 1612 files). All other gates green. Run the formatter on that file and push; no other blockers found in my read of the diff, so the next green run should be approved.59fdb46d80e526c9c899Review of
e526c9c(CI green on this head: gates, tier A, bootstrap, pdisc, commit messages; the earlierformat --checkfailure is fixed).std/http/tests/h2frame.test.trbcover byte-exact layouts per frame type, round trips, every size/stream/padding/settings-range refusal, partial and byte-by-byte streaming, buffer left intact onNone/error, and generated frames.lib.trb, no automation.hpack.trb.Non-blocking:
FrameEncoder.encodedoc comment lists CONTINUATION among the frames that can be padded; it has no padding (only DATA and HEADERS do).