Trait wasmcloud_interface_messaging::Messaging [−][src]
pub trait Messaging {
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
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
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.
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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Request - send a message in a request/reply pattern, waiting for a response.
Provided methods
fn contract_id() -> &'static str
fn contract_id() -> &'static str
returns the capability contract id for this interface