[][src]Trait sunrise_libuser::twili::ITwiliServiceAsync

pub trait ITwiliServiceAsync {
    fn open_pipes<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        unknown_0: Pid
    ) -> FutureObj<'a, Result<(IPipeProxy, IPipeProxy, IPipeProxy), Error>>;
fn create_pipe<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>
    ) -> FutureObj<'a, Result<(IPipeProxy, IPipeProxy), Error>>; fn dispatch<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        cmdid: u32,
        buf: &'a mut [u8]
    ) -> FutureObj<Result<(), Error>> { ... } }

The Twili Service is responsible for providing the stdin/stdout/stderr pipes to the various subprocesses. It is freely inspired by the twili switch sysmodule.

Required methods

fn open_pipes<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    unknown_0: Pid
) -> FutureObj<'a, Result<(IPipeProxy, IPipeProxy, IPipeProxy), Error>>

Recover the stdin/stdout/stderr pipes for the current process.

If none were registered, returns an error.

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

Creates a pipe whose write gets buffered and returned to the read side.

Tryting to write to the read side or read from the write side will return an error.

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...