| Crates.io | eventbus-rs |
| lib.rs | eventbus-rs |
| version | 1.3.2 |
| created_at | 2022-01-24 06:28:45.410044+00 |
| updated_at | 2022-02-06 11:04:04.283018+00 |
| description | Event bus for rust |
| homepage | |
| repository | https://github.com/AlexSherbinin/eventbus-rs |
| max_upload_size | |
| id | 520051 |
| size | 11,142 |
This crate provides event bus for Rust
use eventbus_rs::{UnMutSubscriber, EventBus};
use async_trait::async_trait;
use std::any::Any;
// Create new topic
type Topic = ();
// Impl our subscriber
struct SimpleSubscriber;
#[async_trait]
impl UnMutSubscriber for SimpleSubscriber {
async fn handle(&self, message: &(dyn Any + Send + Sync)) {}
}
async fn subscribe_and_publish() {
// Create event bus
let mut event_bus = EventBus::new().await;
// Subscribe on our topic
event_bus.subscribe_unmut::<Topic>(Box::new(SimpleSubscriber {})).await;
// Publish event
event_bus.publish_unmut::<Topic>(&"Hello".to_string()).await;
}