Crate anybytes

Source
Expand description

Crates.io Version docs.rs Discord Shield

This Library is still pre-0.1.0 the API is therefore in heavy flux, and everything should be considered alpha!

A small library for conveniently working with immutables bytes from different sources, providing zero-copy slicing and cloning.

Access itself is extremely cheap via no-op conversion to a &[u8].

The storage mechanism backing the bytes can be extended and is implemented for a variety of sources already, including other byte handling crates Bytes, mmap-ed files, Strings and Zerocopy types.

§Comparison

CrateActiveExtensiblemmap supportZerocopy IntegrationPyo3 Integrationkani verified
anybytes🚧
bytes1
ownedbytes
minibytes2

§Acknowledgements

This library started as a fork of the minibyte library in facebooks sapling scm.

Thanks to @kylebarron for his feedback and ideas on Pyo3 integration.


  1. Recently added a new “Owned Bytes” variant, which still has all the downsides of a V-Table. 

  2. Recently published again. 

Re-exports§

pub use crate::bytes::ByteOwner;
pub use crate::bytes::ByteSource;
pub use crate::bytes::Bytes;
pub use crate::bytes::WeakBytes;
pub use crate::view::View;

Modules§

bytes
view