#parser #tlv

no-std tlv-rs

A parser for SIMPLE TLVs

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

#7 in #tlv

Download history 7/week @ 2024-06-18 6/week @ 2024-06-25 39/week @ 2024-07-02 28/week @ 2024-07-09 17/week @ 2024-07-30 21/week @ 2024-08-06 333/week @ 2024-08-13 955/week @ 2024-08-20 2032/week @ 2024-08-27 2430/week @ 2024-09-03 1535/week @ 2024-09-10 1949/week @ 2024-09-17 1577/week @ 2024-09-24 728/week @ 2024-10-01

6,114 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
~31K SLoC