ame-bus 0.1.0

A NATS tool for JSON messages
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::NatsJsonMessage;

#[async_trait::async_trait]
pub trait SimplestNatsMessage: NatsJsonMessage {
    async fn push_message(&self, nats_connection: &async_nats::client::Client) -> anyhow::Result<()> {
        let subject = Self::SUBJECT;
        let bytes = self.to_json_bytes()?;
        nats_connection.publish(subject, bytes.into()).await?;
        Ok(())
    }
}