Trait libipld_core::codec::Codec

source ·
pub trait Codec: Copy + Unpin + Send + Sync + 'static + Sized + TryFrom<u64, Error = UnsupportedCodec> + Into<u64> {
    // Provided methods
    fn encode<T: Encode<Self> + ?Sized>(&self, obj: &T) -> Result<Vec<u8>> { ... }
    fn decode<T: Decode<Self>>(&self, bytes: &[u8]) -> Result<T> { ... }
    fn references<T: References<Self>, E: Extend<Cid>>(
        &self,
        bytes: &[u8],
        set: &mut E
    ) -> Result<()> { ... }
}
Expand description

Codec trait.

Provided Methods§

source

fn encode<T: Encode<Self> + ?Sized>(&self, obj: &T) -> Result<Vec<u8>>

Encodes an encodable type.

source

fn decode<T: Decode<Self>>(&self, bytes: &[u8]) -> Result<T>

Decodes a decodable type.

source

fn references<T: References<Self>, E: Extend<Cid>>( &self, bytes: &[u8], set: &mut E ) -> Result<()>

Scrapes the references.

Object Safety§

This trait is not object safe.

Implementors§