CarReader

Trait CarReader 

Source
pub trait CarReader {
    // Required methods
    fn header(&self) -> &CarHeader;
    fn sections(&self) -> Vec<Section>;
    fn read_section_data(&mut self, cid: &Cid) -> Result<Vec<u8>, CarError>;
    fn ipld(&mut self, cid: &Cid) -> Result<Ipld, CarError>;

    // Provided methods
    fn unixfs(&mut self, cid: &Cid) -> Result<UnixFs, CarError> { ... }
    fn search_file_cid_inner(
        &mut self,
        searchq: &mut VecDeque<Cid>,
        f: &str,
    ) -> Result<Cid, CarError> { ... }
    fn search_file_cid(&mut self, f: &str) -> Result<Cid, CarError> { ... }
}

Required Methods§

Source

fn header(&self) -> &CarHeader

Source

fn sections(&self) -> Vec<Section>

Source

fn read_section_data(&mut self, cid: &Cid) -> Result<Vec<u8>, CarError>

Source

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

Provided Methods§

Source

fn unixfs(&mut self, cid: &Cid) -> Result<UnixFs, CarError>

Source

fn search_file_cid_inner( &mut self, searchq: &mut VecDeque<Cid>, f: &str, ) -> Result<Cid, CarError>

Source

fn search_file_cid(&mut self, f: &str) -> Result<Cid, CarError>

Examples found in repository?
examples/cat_file.rs (line 16)
9fn main() {
10    let file_name = std::env::args().nth(1).expect("use filename as argument");
11    let file = std::path::Path::new("test");
12    let file = file.join("carv1-basic.car");
13    let file = std::fs::File::open(file).unwrap();
14    let mut reader = reader::new_v1(file).unwrap();
15    let cid = reader
16        .search_file_cid(&file_name)
17        .expect("search file error.");
18    cat_ipld(&mut reader, cid).unwrap();
19}

Implementors§