pub trait Bus: Send + Sync {
// Required methods
fn send(
&self,
name: &str,
payload: Vec<u8>,
) -> impl Future<Output = Result<(), TransportError>> + Send;
fn publish(
&self,
name: &str,
payload: Vec<u8>,
) -> impl Future<Output = Result<(), TransportError>> + Send;
fn send_message(
&self,
message: Message,
) -> impl Future<Output = Result<(), TransportError>> + Send;
fn publish_message(
&self,
message: Message,
) -> impl Future<Output = Result<(), TransportError>> + Send;
}Expand description
Produce side of the bus — uniform across every transport.
Required Methods§
Sourcefn send(
&self,
name: &str,
payload: Vec<u8>,
) -> impl Future<Output = Result<(), TransportError>> + Send
fn send( &self, name: &str, payload: Vec<u8>, ) -> impl Future<Output = Result<(), TransportError>> + Send
Send a point-to-point command (1:1, competing consumers).
Sourcefn publish(
&self,
name: &str,
payload: Vec<u8>,
) -> impl Future<Output = Result<(), TransportError>> + Send
fn publish( &self, name: &str, payload: Vec<u8>, ) -> impl Future<Output = Result<(), TransportError>> + Send
Publish a fan-out event (1:N).
Sourcefn send_message(
&self,
message: Message,
) -> impl Future<Output = Result<(), TransportError>> + Send
fn send_message( &self, message: Message, ) -> impl Future<Output = Result<(), TransportError>> + Send
Send a fully-formed command message (explicit id/metadata/content-type).
Sourcefn publish_message(
&self,
message: Message,
) -> impl Future<Output = Result<(), TransportError>> + Send
fn publish_message( &self, message: Message, ) -> impl Future<Output = Result<(), TransportError>> + Send
Publish a fully-formed event message.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".