Expand description
Wrapper types to enable optimized handling of &[u8] and Vec<u8>.
Without specialization, Rust forces us to treat &[u8] just like any other
slice and Vec<u8> just like any other vector. In reality this particular
slice and vector can often be serialized and deserialized in a more
efficient, compact representation in many formats.
When working with such a format, you can opt into specialized handling of
&[u8] by wrapping it in bytes::Bytes and Vec<u8> by wrapping it in
bytes::ByteBuf.
Rust support for specialization is being tracked in
rust-lang/rust#31844. Once it lands in the stable compiler
we will be deprecating these wrapper types in favor of optimizing &[u8]
and Vec<u8> out of the box.
Structsยง
- ByteBuf
 - Wraps a 
Vec<u8>in order to serialize and deserialize in an efficient way. - Byte
BufVisitor  - This type implements the 
serde::de::Visitortrait for aByteBuf. - Bytes
 - Wraps a 
&[u8]in order to serialize in an efficient way. Does not support deserialization.