|
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 | quic_crecv |
| CRYPTO stream reassembly state. More... | |
Macros | |
| #define | QUIC_CRECV_BUF 2048 |
| Reassembly buffer capacity in bytes. | |
Functions | |
| void | quic_crecv_init (quic_crecv *s) |
| Start with an empty reassembly buffer. | |
| int | quic_crecv_collect (quic_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.
| int quic_crecv_collect | ( | quic_crecv * | s, |
| const u8 * | frames, | ||
| usz | len ) |
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 quic_crecv_init | ( | quic_crecv * | s | ) |
Start with an empty reassembly buffer.
| s | reassembly state to initialize |