stable_fs::storageTrait Storage
source pub trait Storage {
Show 22 methods
// Required methods
fn root_node(&self) -> Node;
fn get_version(&self) -> u32;
fn new_node(&mut self) -> Node;
fn mount_node(
&mut self,
node: Node,
memory: Box<dyn Memory>,
) -> Result<(), Error>;
fn unmount_node(&mut self, node: Node) -> Result<Box<dyn Memory>, Error>;
fn is_mounted(&self, node: Node) -> bool;
fn get_mounted_memory(&self, node: Node) -> Option<&dyn Memory>;
fn init_mounted_memory(&mut self, node: Node) -> Result<(), Error>;
fn store_mounted_memory(&mut self, node: Node) -> Result<(), Error>;
fn get_metadata(&self, node: Node) -> Result<Metadata, Error>;
fn put_metadata(&mut self, node: Node, metadata: Metadata);
fn get_direntry(
&self,
node: Node,
index: DirEntryIndex,
) -> Result<DirEntry, Error>;
fn put_direntry(
&mut self,
node: Node,
index: DirEntryIndex,
entry: DirEntry,
);
fn rm_direntry(&mut self, node: Node, index: DirEntryIndex);
fn read(
&mut self,
node: Node,
read_offset: FileSize,
buf: &mut [u8],
) -> Result<FileSize, Error>;
fn write(
&mut self,
node: Node,
offset: FileSize,
buf: &[u8],
) -> Result<FileSize, Error>;
fn rm_file(&mut self, node: Node) -> Result<(), Error>;
fn set_chunk_size(&mut self, chunk_size: ChunkSize) -> Result<(), Error>;
fn chunk_size(&self) -> usize;
fn set_chunk_type(&mut self, chunk_type: ChunkType);
fn chunk_type(&self) -> ChunkType;
fn flush(&mut self, node: Node);
}