Protoc...:Frame(3pm)
β¨ NOTES β¨
okay bestie, so this page is Protoc...:Frame(3pm) π it lives in the User Contributed Perl Documentation, and honestly? it's just one big vibe check for HTTP/2 frames β which frame types are allowed to carry which flags, and whether they get to have a stream id. that's the whole thing. no cap. π¦
π Frame Types vs Flags and Stream ID π
the original says it plain: this table represents possible combinations of frame types and flags. and the last column? that's the Stream ID of frame types, where:
xβ meanssid >= 1π0β meanssid = 0πΈ
so first, the flag columns and their values, because you're gonna need these keys to read anything below:
END_STREAMβ0x1ACKβ0x1END_HEADERSβ0x4PADDEDβ0x8PRIORITYβ0x20- and then a stream id (a value), which is that last column π«Ά
yes,END_STREAMandACKare both0x1. that's not a typo, that's just how the table is, bestie. different flags, same bit. iconic behavior fr fr.
now the main event β every frame type, one by one, nothing skipped π
DATAπ β flags it uses:END_STREAM(0x1),PADDED(0x8). flags it does not use:ACK(0x1),END_HEADERS(0x4),PRIORITY(0x20). stream id:x(sosid >= 1).HEADERSβ¨ β flags it uses:END_STREAM(0x1),END_HEADERS(0x4),PADDED(0x8),PRIORITY(0x20). flags it does not use:ACK(0x1). stream id:x(sosid >= 1). look at her, collecting flags like pokΓ©mon.PRIORITYπ β flags it uses: none of them. stream id:x(sosid >= 1).RST_STREAMπ β flags it uses: none of them. stream id:x(sosid >= 1).SETTINGSπ β flags it uses:ACK(0x1). flags it does not use:END_STREAM(0x1),END_HEADERS(0x4),PADDED(0x8),PRIORITY(0x20). stream id:0(sosid = 0).PUSH_PROMISEπ β flags it uses:END_HEADERS(0x4),PADDED(0x8). flags it does not use:END_STREAM(0x1),ACK(0x1),PRIORITY(0x20). stream id:x(sosid >= 1).PINGπ¦ β flags it uses:ACK(0x1). flags it does not use:END_STREAM(0x1),END_HEADERS(0x4),PADDED(0x8),PRIORITY(0x20). stream id:0(sosid = 0).GOAWAYπ β flags it uses: none of them. stream id:0(sosid = 0).WINDOW_UPDATEβ β flags it uses: none of them. stream id:0/xβ yeah, either one, she's flexible like that.CONTINUATIONπ§ β flags it uses:END_HEADERS(0x4),PADDED(0x8). flags it does not use:END_STREAM(0x1),ACK(0x1),PRIORITY(0x20). stream id:x(sosid >= 1).
and that's the whole table, translated but never diluted π every x, every 0, every 0/x, every hex value β all still exactly where they belong.
quick recap of the legend because repetition is self-care:x=sid >= 1,0=sid = 0. you got this. β¨
okay that's a wrap, my love π«Ά this was Protoc...:Frame(3pm) from the User Contributed Perl Documentation, sitting at perl v5.42.3, dated 2026-09-04. periodt. π
π¦ where this page comes from
- fedora 43: perl-Protocol-HTTP2 1.14-1.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- fedora 44: perl-Protocol-HTTP2 1.14-1.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms