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
6,114 downloads per month
Used in 2 crates
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