[][src]Trait sunrise_libuser::twili::ITwiliManagerServiceAsync

pub trait ITwiliManagerServiceAsync {
    fn register_pipes<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        pid: u64,
        stdin: IPipeProxy,
        stdout: IPipeProxy,
        stderr: IPipeProxy
    ) -> FutureObj<'a, Result<(), 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 Manager is responsible for registering a process' pipes. The PM should connect to this service and register pipes before starting a process.

Required methods

fn register_pipes<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    pid: u64,
    stdin: IPipeProxy,
    stdout: IPipeProxy,
    stderr: IPipeProxy
) -> FutureObj<'a, Result<(), Error>>

Registers the pipe of a remote process.

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