|
wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
|
RFC 9000 19.6 / 7.5: reassemble CRYPTO frames received in a Handshake (or Initial) packet payload into a single in-order byte stream of TLS handshake messages. More...
#include "common/platform/sys/syscall.h"Go to the source code of this file.
Data Structures | |
| struct | crecv |
| CRYPTO stream reassembly state. More... | |
Macros | |
| #define | CRECV_BUF 2048 |
| Reassembly buffer capacity in bytes. | |
Functions | |
| void | crecv_init (crecv *s) |
| Start with an empty reassembly buffer. | |
| int | crecv_collect (crecv *s, const u8 *frames, usz len) |
| Walk a payload, write every CRYPTO frame at its offset, ignore other frames. | |
RFC 9000 19.6 / 7.5: reassemble CRYPTO frames received in a Handshake (or Initial) packet payload into a single in-order byte stream of TLS handshake messages.
Out-of-order and split frames are placed at their offset; only the contiguous prefix from offset 0 is exposed to TLS. Fixed buffer, no alloc.
Walk a payload, write every CRYPTO frame at its offset, ignore other frames.
Updates the contiguous prefix.
| s | reassembly state |
| frames | the packet payload to walk |
| len | length of frames in bytes |
| void crecv_init | ( | crecv * | s | ) |
Start with an empty reassembly buffer.
| s | reassembly state to initialize |