pub struct TypeCodec {
pub serializer_id: u32,
pub manifest: String,
pub type_id: TypeId,
pub encode: Arc<dyn Fn(&dyn Any) -> Result<Vec<u8>, SerializeError> + Send + Sync>,
pub decode: Arc<dyn Fn(&[u8]) -> Result<Box<dyn Any + Send>, SerializeError> + Send + Sync>,
}Expand description
Closure pair that knows how to encode/decode one Rust type to/from
wire bytes. The registry maps a manifest (type name) to one of these.
Fields§
§serializer_id: u32§manifest: String§type_id: TypeId§encode: Arc<dyn Fn(&dyn Any) -> Result<Vec<u8>, SerializeError> + Send + Sync>§decode: Arc<dyn Fn(&[u8]) -> Result<Box<dyn Any + Send>, SerializeError> + Send + Sync>Trait Implementations§
Auto Trait Implementations§
impl Freeze for TypeCodec
impl !RefUnwindSafe for TypeCodec
impl Send for TypeCodec
impl Sync for TypeCodec
impl Unpin for TypeCodec
impl UnsafeUnpin for TypeCodec
impl !UnwindSafe for TypeCodec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more