pub trait FileInode:
Send
+ Sync
+ Debug {
// Required methods
fn file_size(&self) -> u64;
fn blocks_start(&self) -> u64;
fn add_block_size(&mut self, size: BlockSize);
fn block_sizes(&self) -> &Vec<BlockSize>;
fn fragment(&self) -> FragmentLocation;
// Provided methods
fn fragment_size(&self, superblock: &SuperBlock) -> u64 { ... }
fn data_locations(&self) -> Box<dyn Iterator<Item = DataLocation> + '_> { ... }
}Expand description
Trait to encompass BasicFile and ExtendedFile.