Expand description
arc-bytes
A reference-counted byte buffer.
ArcBytes is a type that is useful when parsing a buffer of bytes and breaking it into smaller pieces without extra allocations or extending the lifetime of the underlying buffer. This is done with no unsafe code by leveraging std::sync::Arc. When the final reference of the buffer goes away, the underlying bytes will be released.
This type also implements std::io::Read and std::iter::Iterator for easier integration with existing code.
With the feature flag serde enabled, serde::Serialize/serde::Deserialize are implemented in such a way that ensures the bytes are written optimally and not as a sequence of u8s. This is almost identical to the approach that serde_bytes utilizes, except ArcBytes uses a single type and introduces the use of Arc.
Open-source Licenses
This project, like all projects from Khonsu Labs, are open-source. This repository is available under the MIT License or the Apache License 2.0.
To learn more about contributing, please see CONTRIBUTING.md.
Modules
Efficient serialization implementation, ensuring bytes are written as a buffer of bytes not as a sequence.
Structs
An immutable buffer of bytes that can be cloned, sliced, and read into multiple parts using a single refernce to the underlying buffer.
An instance of ArcBytes that is not borrowing its underlying data.
Functions
Formats the bytes contained in slice into the provided writer. This
function groups the printed output in chukns of 8 hexadecimal characters,
and inserts spaces between each group.