pub trait MessageBus:
Send
+ Sync
+ Clone
+ 'static {
// Required methods
fn publish<'life0, 'async_trait>(
&'life0 self,
subject: String,
payload: Bytes,
) -> Pin<Box<dyn Future<Output = Result<(), PublishError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn request<'life0, 'async_trait>(
&'life0 self,
subject: String,
payload: Bytes,
) -> Pin<Box<dyn Future<Output = Result<Message, RequestError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
A trait abstraction over message bus (e.g. NATS) interactions.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.