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::iter::Iterator for easier integration with existing code.
With the feature flag
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.
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.
Efficient serialization implementation, ensuring bytes are written as a buffer of bytes not as a sequence.
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.
Formats the bytes contained in
slice into the provided
function groups the printed output in chukns of 8 hexadecimal characters,
and inserts spaces between each group.