#同步 #事件系统 #事件监听器 #异步 #事件调度器

epicenter

简单的同步和异步事件调度器,用于Rust

2个不稳定版本

0.1.0 2023年12月20日
0.0.1 2023年12月19日

#733 in 异步

MIT许可证

11KB
228

Epicenter

简单的同步/异步事件调度器,用于Rust

crates.io download count badge docs.rs

使用方法

use epicenter::{Event, AsyncDispatcher};

#[derive(Debug, Clone)]
struct ExampleEvent {}
impl Event for ExampleEvent {}

let mut dispatcher = AsyncDispatcher::new();

dispatcher.listen(|event: ExampleEvent| async move {
    // ...
}).await;

dispatcher.dispatch(&ExampleEvent {}).await?;

有关详细使用说明,请参阅docs.rs上的文档

许可证

本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。


lib.rs:

简单的同步/异步事件调度器。

使用方法

use epicenter::{Event, AsyncDispatcher};

struct OrderShipped {
    order_id: u64
}
impl Event for OrderShipped {}

let mut dispatcher = AsyncDispatcher::new();

dispatcher.listen(|event: OrderShipped| async move {
    assert_eq!(event.order_id, 123);
}).await;

dispatcher.dispatch(&OrderShipped { order_id: 123 }).await?;

依赖项

~0.3–2MB
~38K SLoC