7 releases
0.3.5 | May 15, 2022 |
---|---|
0.3.4 | Mar 12, 2022 |
0.3.3 | Feb 13, 2022 |
0.3.2 | Jan 26, 2022 |
0.1.0 | Jan 24, 2022 |
#832 in Data structures
328 downloads per month
Used in 13 crates
(4 directly)
34KB
874 lines
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.
Dependencies
~0.3–1MB
~21K SLoC