Trait capnp::private::capability::ClientHook

source ·
pub trait ClientHook {
    // Required methods
    fn add_ref(&self) -> Box<dyn ClientHook>;
    fn new_call(
        &self,
        interface_id: u64,
        method_id: u16,
        size_hint: Option<MessageSize>
    ) -> Request<Owned, Owned>;
    fn call(
        &self,
        interface_id: u64,
        method_id: u16,
        params: Box<dyn ParamsHook>,
        results: Box<dyn ResultsHook>
    ) -> Promise<(), Error> ;
    fn get_brand(&self) -> usize;
    fn get_ptr(&self) -> usize;
    fn get_resolved(&self) -> Option<Box<dyn ClientHook>>;
    fn when_more_resolved(&self) -> Option<Promise<Box<dyn ClientHook>, Error>>;
    fn when_resolved(&self) -> Promise<(), Error> ;
}

Required Methods§

source

fn add_ref(&self) -> Box<dyn ClientHook>

source

fn new_call( &self, interface_id: u64, method_id: u16, size_hint: Option<MessageSize> ) -> Request<Owned, Owned>

source

fn call( &self, interface_id: u64, method_id: u16, params: Box<dyn ParamsHook>, results: Box<dyn ResultsHook> ) -> Promise<(), Error>

source

fn get_brand(&self) -> usize

If this capability is associated with an rpc connection, then this method returns an identifier for that connection.

source

fn get_ptr(&self) -> usize

Returns a (locally) unique identifier for this capabilitiy.

source

fn get_resolved(&self) -> Option<Box<dyn ClientHook>>

If this ClientHook is a promise that has already resolved, returns the inner, resolved version of the capability. The caller may permanently replace this client with the resolved one if desired. Returns null if the client isn’t a promise or hasn’t resolved yet – use whenMoreResolved() to distinguish between them.

source

fn when_more_resolved(&self) -> Option<Promise<Box<dyn ClientHook>, Error>>

If this client is a settled reference (not a promise), return nullptr. Otherwise, return a promise that eventually resolves to a new client that is closer to being the final, settled client (i.e. the value eventually returned by getResolved()). Calling this repeatedly should eventually produce a settled client.

source

fn when_resolved(&self) -> Promise<(), Error>

Repeatedly calls whenMoreResolved() until it returns nullptr.

Trait Implementations§

source§

impl Clone for Box<dyn ClientHook>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Implementors§