#事件总线 #异步 #主题 #async-trait #特质 #订阅者 #发送同步

已删除 eventbus-rs

Rust 的事件总线

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#事件总线

Download history 1/week @ 2024-06-29 35/week @ 2024-07-06 19/week @ 2024-07-27

每月下载量 54

MIT 许可证

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