CarWriter

Trait CarWriter 

Source
pub trait CarWriter {
    // Required methods
    fn write<T>(&mut self, cid: Cid, data: T) -> Result<(), CarError>
       where T: AsRef<[u8]>;
    fn write_stream<F, R>(
        &mut self,
        cid_f: F,
        stream_len: usize,
        r: &mut R,
    ) -> Result<Cid, CarError>
       where R: Read,
             F: FnMut(WriteStream<'_>) -> Option<Result<Cid, CarError>>;
    fn rewrite_header(&mut self, header: CarHeader) -> Result<(), CarError>;
    fn flush(&mut self) -> Result<(), CarError>;

    // Provided method
    fn write_ipld(&mut self, ipld: Ipld) -> Result<Cid, CarError> { ... }
}

Required Methods§

Source

fn write<T>(&mut self, cid: Cid, data: T) -> Result<(), CarError>
where T: AsRef<[u8]>,

Source

fn write_stream<F, R>( &mut self, cid_f: F, stream_len: usize, r: &mut R, ) -> Result<Cid, CarError>
where R: Read, F: FnMut(WriteStream<'_>) -> Option<Result<Cid, CarError>>,

Source

fn rewrite_header(&mut self, header: CarHeader) -> Result<(), CarError>

Source

fn flush(&mut self) -> Result<(), CarError>

Provided Methods§

Source

fn write_ipld(&mut self, ipld: Ipld) -> Result<Cid, CarError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§