|
ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
|
Reassembles the fragments of a single handshake message into a contiguous body. More...
#include <dtls_handshake.h>
Public Attributes | |
| proto_bool | active |
| false until the first fragment of the target message is seen | |
| proto_bool | have_len |
| true once a fragment established the full message length | |
| uint8_t | msg_type |
| HandshakeType of the message being reassembled. | |
| uint16_t | msg_seq |
| the message sequence number this reassembler accepts | |
| uint32_t | length |
| full body length (from the first non-empty fragment) | |
| uint8_t * | buf |
| caller-provided body buffer (>= length bytes) | |
| size_t | buf_cap |
| capacity of buf | |
| uint32_t | range_lo [PROTOCORE_DTLS_HS_REASM_MAX_RANGES] |
| received interval starts | |
| uint32_t | range_hi [PROTOCORE_DTLS_HS_REASM_MAX_RANGES] |
| received interval ends (exclusive) | |
| uint8_t | range_count |
| number of active intervals | |
Reassembles the fragments of a single handshake message into a contiguous body.
Fragments may arrive out of order, duplicated, or with overlapping ranges (RFC 9147 ยง5.4 requires an implementation to handle overlap). Received byte ranges are merged into a bounded interval list; the message is complete when a single interval covers [0, length).
Definition at line 79 of file dtls_handshake.h.
| proto_bool DtlsHsReasm::active |
false until the first fragment of the target message is seen
Definition at line 81 of file dtls_handshake.h.
| proto_bool DtlsHsReasm::have_len |
true once a fragment established the full message length
Definition at line 82 of file dtls_handshake.h.
| uint8_t DtlsHsReasm::msg_type |
HandshakeType of the message being reassembled.
Definition at line 83 of file dtls_handshake.h.
| uint16_t DtlsHsReasm::msg_seq |
the message sequence number this reassembler accepts
Definition at line 84 of file dtls_handshake.h.
| uint32_t DtlsHsReasm::length |
full body length (from the first non-empty fragment)
Definition at line 85 of file dtls_handshake.h.
| uint8_t* DtlsHsReasm::buf |
caller-provided body buffer (>= length bytes)
Definition at line 86 of file dtls_handshake.h.
| size_t DtlsHsReasm::buf_cap |
capacity of buf
Definition at line 87 of file dtls_handshake.h.
| uint32_t DtlsHsReasm::range_lo[PROTOCORE_DTLS_HS_REASM_MAX_RANGES] |
received interval starts
Definition at line 88 of file dtls_handshake.h.
| uint32_t DtlsHsReasm::range_hi[PROTOCORE_DTLS_HS_REASM_MAX_RANGES] |
received interval ends (exclusive)
Definition at line 89 of file dtls_handshake.h.
| uint8_t DtlsHsReasm::range_count |
number of active intervals
Definition at line 90 of file dtls_handshake.h.