pub struct UnixFs {
pub cid: Option<Cid>,
pub mode: Option<u32>,
pub file_type: FileType,
pub fanout: Option<u64>,
pub block_sizes: Vec<u64>,
pub file_size: Option<u64>,
pub hash_type: Option<u64>,
pub links: Vec<Link>,
pub mtime: Option<UnixTime>,
pub file_name: Option<String>,
}
Fields§
§cid: Option<Cid>
§mode: Option<u32>
§file_type: FileType
§fanout: Option<u64>
§block_sizes: Vec<u64>
§file_size: Option<u64>
§hash_type: Option<u64>
§links: Vec<Link>
§mtime: Option<UnixTime>
§file_name: Option<String>
Implementations§
Source§impl UnixFs
impl UnixFs
pub fn new(cid: Cid) -> Self
pub fn new_directory() -> Self
pub fn add_link(&mut self, child: Link) -> usize
Sourcepub fn links(&self) -> Vec<&Link>
pub fn links(&self) -> Vec<&Link>
Examples found in repository?
examples/cat_cid.rs (line 26)
12fn main() {
13 // let cid = std::env::args().nth(1).expect("use cid as argument");
14 let cid = "bafkreiaqv66m5nd6mwgkk7h5lwqnjzj54s4f7knmnrjhb7ylzqfg2vdo54";
15 let file = std::path::Path::new("test");
16 let file = file.join("carv1-basic.car");
17 let file = std::fs::File::open(file).unwrap();
18 let mut reader = reader::new_v1(file).unwrap();
19 let roots = reader.header().roots();
20 let file_cid = Cid::try_from(cid).expect("cid format error");
21 for r in roots.iter() {
22 let root_ipld = reader.ipld(r).unwrap();
23 let root: Result<UnixFs, CarError> = root_ipld.try_into();
24 let root_dir = root.unwrap();
25 let count = root_dir
26 .links()
27 .iter()
28 .filter(|u| u.hash() == file_cid)
29 .count();
30 if count > 0 {
31 cat_ipld(&mut reader, file_cid).unwrap();
32 }
33 }
34}
pub fn mtime(&self) -> Option<&UnixTime>
pub fn mode(&self) -> Option<u32>
pub fn fanout(&self) -> Option<u64>
pub fn file_name(&self) -> Option<&str>
pub fn hash_type(&self) -> Option<u64>
pub fn block_sizes(&self) -> Vec<u64>
pub fn file_size(&self) -> Option<u64>
pub fn file_type(&self) -> FileType
pub fn cid(&self) -> Option<Cid>
Trait Implementations§
impl Eq for UnixFs
impl StructuralPartialEq for UnixFs
Auto Trait Implementations§
impl Freeze for UnixFs
impl RefUnwindSafe for UnixFs
impl Send for UnixFs
impl Sync for UnixFs
impl Unpin for UnixFs
impl UnwindSafe for UnixFs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more