nova-boot-messaging 0.1.1

Messaging abstraction and adapters (NATS/Kafka/RabbitMQ) for Nova
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use nova_boot_messaging::{EventEnvelope, InMemoryBroker, MessageBroker};

#[tokio::main]
async fn main() {
    let broker = InMemoryBroker::default();

    let envelope = EventEnvelope::new(
        "1",
        "topic:a",
        "event.type",
        serde_json::json!({"hello":"world"}),
    );
    broker.publish(envelope).await.unwrap();

    let msgs = broker.poll("topic:a", 10).await.unwrap();
    println!("polled {} messages", msgs.len());
}