34 releases (12 breaking)
1.0.0 |
|
---|---|
0.19.0 | May 11, 2023 |
0.18.1 | Mar 27, 2023 |
0.8.3 | Oct 27, 2022 |
#5 in #coap-message
159 downloads per month
Used in 2 crates
175KB
3K
SLoC
toad-msg
Low-level representation of CoAP messages.
The most notable item in toad_msg
is Message
;
a CoAP message very close to the actual byte layout.
Allocation
CoAP messages are growable and dynamically sized:
- The message payload (http equiv: the request/response body)
- the number of options (http equiv: headers)
- the value of an option (http equiv: header value)
Performance
This crate uses criterion
to measure performance of the heaped & heapless implementations in this crate as well as coap_lite::Packet
.
In general, toad_msg::VecMessage
performs identically to coap_lite (+/- 5%), and both are much faster than toad_msg::ArrayVecMessage
.
Benchmarks:
Serializing to bytes
Click to expand chart
Deserializing from bytes
Click to expand chart
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~4–5.5MB
~109K SLoC