12 个稳定版本
1.3.2 | 2022年2月6日 |
---|---|
1.3.1 | 2022年2月5日 |
1.1.6 | 2022年1月30日 |
0.1.0 | 2022年1月24日 |
29 在 #事件总线
每月下载量 54
12KB
187 代码行
Eventbus-rs
此包为 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;
}
依赖关系
~1–1.6MB
~33K SLoC