[][src]Trait wascc_codec::capabilities::CapabilityProvider

pub trait CapabilityProvider: Any + Send + Sync {
    fn configure_dispatch(
        &self,
        dispatcher: Box<dyn Dispatcher>
    ) -> Result<(), Box<dyn Error>>;
fn handle_call(
        &self,
        actor: &str,
        op: &str,
        msg: &[u8]
    ) -> Result<Vec<u8>, Box<dyn Error>>; }

Every native capability provider must implement this trait. Both portable and native capability providers must respond to the following operations: OP_BIND_ACTOR, OP_REMOVE_ACTOR, OP_GET_CAPABILITY_DESCRIPTOR

Required methods

fn configure_dispatch(
    &self,
    dispatcher: Box<dyn Dispatcher>
) -> Result<(), Box<dyn Error>>

This function will be called on the provider when the host runtime is ready and has configured a dispatcher. This function is only ever called once for a capability provider, regardless of the number of actors being managed in the host

fn handle_call(
    &self,
    actor: &str,
    op: &str,
    msg: &[u8]
) -> Result<Vec<u8>, Box<dyn Error>>

Invoked when an actor has requested that a provider perform a given operation

Loading content...

Implementors

Loading content...