scroll allows deriving decoding and encoding traits, which is just what I want. We should try porting rubble to use that instead of bytes.rs.
We can also try out the zerocopy crate, which allows C-like reinterpretation of arbitrary bytes in safe Rust. Unfortunately it's near impossible to contribute to zerocopy since it's part of fuchsia, but it looks promising.
It'd be pretty easy to add a method to ByteReader that reads any type implementing zerocopy::FromBytes. Then we can gradually move hand-written deserialization code to make use of that.
scroll allows deriving decoding and encoding traits, which is just what I want. We should try porting rubble to use that instead of
bytes.rs
.We can also try out the zerocopy crate, which allows C-like reinterpretation of arbitrary bytes in safe Rust. Unfortunately it's near impossible to contribute to zerocopy since it's part of fuchsia, but it looks promising.