Trait libipld::prelude::Codec

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

Codec trait.

Provided Methods§

source

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

Encodes an encodable type.

source

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

Decodes a decodable type.

source

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

Scrapes the references.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Codec for DagCborCodec

source§

impl Codec for DagJsonCodec

Implementors§