pub trait Storage {
    // Required methods
    fn root_node(&self) -> Node;
    fn get_version(&self) -> u32;
    fn new_node(&mut self) -> Node;
    fn get_metadata(&self, node: Node) -> Result<Metadata, Error>;
    fn put_metadata(&mut self, node: Node, metadata: Metadata);
    fn rm_metadata(&mut self, node: Node);
    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_filechunk(
        &self,
        node: Node,
        index: FileChunkIndex,
        offset: FileSize,
        buf: &mut [u8]
    ) -> Result<(), Error>;
    fn write_filechunk(
        &mut self,
        node: Node,
        index: FileChunkIndex,
        offset: FileSize,
        buf: &[u8]
    );
    fn rm_filechunk(&mut self, node: Node, index: FileChunkIndex);
}

Required Methods§

source

fn root_node(&self) -> Node

source

fn get_version(&self) -> u32

source

fn new_node(&mut self) -> Node

source

fn get_metadata(&self, node: Node) -> Result<Metadata, Error>

source

fn put_metadata(&mut self, node: Node, metadata: Metadata)

source

fn rm_metadata(&mut self, node: Node)

source

fn get_direntry( &self, node: Node, index: DirEntryIndex ) -> Result<DirEntry, Error>

source

fn put_direntry(&mut self, node: Node, index: DirEntryIndex, entry: DirEntry)

source

fn rm_direntry(&mut self, node: Node, index: DirEntryIndex)

source

fn read_filechunk( &self, node: Node, index: FileChunkIndex, offset: FileSize, buf: &mut [u8] ) -> Result<(), Error>

source

fn write_filechunk( &mut self, node: Node, index: FileChunkIndex, offset: FileSize, buf: &[u8] )

source

fn rm_filechunk(&mut self, node: Node, index: FileChunkIndex)

Implementors§