pub trait Messaging {
    // Required methods
    fn publish<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context,
        arg: &'life2 PubMessage
    ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn request<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context,
        arg: &'life2 RequestMessage
    ) -> Pin<Box<dyn Future<Output = RpcResult<ReplyMessage>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;

    // Provided method
    fn contract_id() -> &'static str { ... }
}
Expand description

The Messaging interface describes a service that can deliver messages wasmbus.contractId: wasmcloud:messaging wasmbus.providerReceive

Required Methods§

source

fn publish<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 PubMessage ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Publish - send a message The function returns after the message has been sent. If the sender expects to receive an asynchronous reply, the replyTo field should be filled with the subject for the response.

source

fn request<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 RequestMessage ) -> Pin<Box<dyn Future<Output = RpcResult<ReplyMessage>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Request - send a message in a request/reply pattern, waiting for a response.

Provided Methods§

source

fn contract_id() -> &'static str

returns the capability contract id for this interface

Implementors§