| Crates.io | arc-bytes |
| lib.rs | arc-bytes |
| version | 0.3.5 |
| created_at | 2022-01-24 02:24:00.505965+00 |
| updated_at | 2022-05-15 22:03:35.965562+00 |
| description | A reference-counted byte buffer. |
| homepage | |
| repository | https://github.com/khonsulabs/arc-bytes |
| max_upload_size | |
| id | 519964 |
| size | 58,344 |
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.
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.