MCPcopy Create free account
hub / github.com/apache/trafficserver / http2_parse_frame_header

Function http2_parse_frame_header

src/proxy/http2/HTTP2.cc:179–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177// +---------------------------------------------------------------+
178
179bool
180http2_parse_frame_header(IOVec iov, Http2FrameHeader &hdr)
181{
182 byte_pointer ptr(iov.iov_base);
183 byte_addressable_value<uint32_t> length_and_type;
184 byte_addressable_value<uint32_t> streamid;
185
186 if (unlikely(iov.iov_len < HTTP2_FRAME_HEADER_LEN)) {
187 return false;
188 }
189
190 memcpy_and_advance(length_and_type.bytes, ptr);
191 memcpy_and_advance(hdr.flags, ptr);
192 memcpy_and_advance(streamid.bytes, ptr);
193
194 hdr.length = ntohl(length_and_type.value) >> 8;
195 hdr.type = ntohl(length_and_type.value) & 0xff;
196 streamid.bytes[0] &= 0x7f; // Clear the high reserved bit
197 hdr.streamid = ntohl(streamid.value);
198
199 return true;
200}
201
202bool
203http2_write_frame_header(const Http2FrameHeader &hdr, IOVec iov)

Callers 1

do_start_frame_readMethod · 0.85

Calls 1

memcpy_and_advanceFunction · 0.85

Tested by

no test coverage detected