A simplified implementation of the bytes
crate, with different features, less safety.
The crate is currently minimalist rather than maximalist, and for example does not support
methods on BytesMut
that seem like they should be safe, because they are not yet needed.
For example, BytesMut
should be able to implement Send
, and BytesMut::extract_to
could
return a BytesMut
rather than a Bytes
.
Examples
use BytesMut;
let bytes = vec!;
let mut shared1 = from;
let mut shared2 = shared1.extract_to;
let mut shared3 = shared1.extract_to;
let mut shared4 = shared2.extract_to;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
for byte in shared1.iter_mut
// memory in slabs [4, 2, 3, 1]: merge back in arbitrary order.
shared2.try_merge.ok.expect;
shared2.try_merge.ok.expect;
shared4.try_merge.ok.expect;
assert_eq!;