[][src]Trait sunrise_libuser::fs::IFileAsync

pub trait IFileAsync {
    fn read<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        option: u32,
        offset: u64,
        size: u64,
        out_buf: &'a mut [u8]
    ) -> FutureObj<'a, Result<u64, Error>>;
fn write<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        option: u32,
        offset: u64,
        size: u64,
        in_buf: &'a [u8]
    ) -> FutureObj<'a, Result<(), Error>>;
fn flush<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>
    ) -> FutureObj<'a, Result<(), Error>>;
fn set_size<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        size: u64
    ) -> FutureObj<'a, Result<(), Error>>;
fn get_size<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>
    ) -> FutureObj<'a, Result<u64, Error>>; fn dispatch<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        cmdid: u32,
        buf: &'a mut [u8]
    ) -> FutureObj<Result<(), Error>> { ... } }

Represent a file in a filesystem.

Required methods

fn read<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    option: u32,
    offset: u64,
    size: u64,
    out_buf: &'a mut [u8]
) -> FutureObj<'a, Result<u64, Error>>

Read the content of a file at a given offset in out_buf. option should be set to 0.

fn write<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    option: u32,
    offset: u64,
    size: u64,
    in_buf: &'a [u8]
) -> FutureObj<'a, Result<(), Error>>

Write the content given in_buf at the given offset in the file. If the file is too small to hold the data and the appendable flag is set, it will resize the file and append the data. If the file is too small to hold the data and the appendable flag isn't set, this will return a FileSystemError::NoSpaceLeft. option should be set to 0.

fn flush<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>
) -> FutureObj<'a, Result<(), Error>>

Flush any data not written on the filesystem.

fn set_size<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    size: u64
) -> FutureObj<'a, Result<(), Error>>

Resize the file with the given size. If the file isn't open with the appendable flag, it will not be extendable and will return a FileSystemError::NoSpaceLeft.

fn get_size<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>
) -> FutureObj<'a, Result<u64, Error>>

Return the current file size.

Loading content...

Provided methods

fn dispatch<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    cmdid: u32,
    buf: &'a mut [u8]
) -> FutureObj<Result<(), Error>>

Handle an incoming IPC request.

Loading content...

Implementors

Loading content...