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§
fn write<T>(&mut self, cid: Cid, data: T) -> Result<(), CarError>
fn write_stream<F, R>( &mut self, cid_f: F, stream_len: usize, r: &mut R, ) -> Result<Cid, CarError>
fn rewrite_header(&mut self, header: CarHeader) -> Result<(), CarError>
fn flush(&mut self) -> Result<(), CarError>
Provided Methods§
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.