7 releases

0.2.4 Jan 6, 2024
0.2.3 Jan 5, 2024
0.2.2 Nov 7, 2023
0.2.1 Sep 3, 2023
0.1.2 Jun 16, 2023

#1396 in Network programming

29 downloads per month
Used in 2 crates

MIT/Apache

15KB
195 lines

tlv-rs

A minimal parser for SIMPLE TLVs.

no_std

This crate requires allocations, because of the Cow type.

Performance

On my 12th Gen Intel 1240p Framework laptop the following speeds were achieved.

-- ns/iter
read_tlv 1.37
write_tlv 2.98

A note on throughput

Since the implementation only parses the header and stores the body, as a slice, all read operations are $O(1)$ and all writes $O(n)$.

Panics

In the no_panic example all functions, except for to_bytes_dynamic since it allocates and can therefore panic, are proven to never panic.

Dependencies

~1–1.5MB
~32K SLoC