Expand description
§rkyv_rpc
§Synopsis
This crate provides a macro to declare an enum specifically to carry RPC commands in such a way as to ensure cross-endian and backwards compatibility.
Unlike #[derive(rkyv::Archive)], this implementation create a custom enum discriminator for which the bytes are mirrored, creating the same representation regardless
or endianness. Furthermore, this allows for discriminators larger than 1 byte, allowing one to space out custom discriminator values to allow for older software
to still accept the same data structures while gracefully failing to recognize newer discriminants.
Furthermore, a framed codec is provided for safely reading and writing binary streams of rkyv objects.
§Cargo Features
codec(default) - Enables theEncoder/Decoderimplementations to write/read rkyv objects to byte buffers andAsyncWrite/AsyncReadstreams via tokio’sFramedunaligned- Enable unaligned accesses by default for rkyv. This saves an extra clone of the incoming bytes before decoding.
Modules§
- codec
- Defines an rkyv codec for use with tokio.
Macros§
- rpc_
enum - Implements
rkyv::Archive,rkyv::Serialize, andrkyv::Deserializefor an enum for such a way as to be endianness-agnostic.