Expand description
§Mod Events
A high-performance, zero-overhead event dispatcher library for Rust.
§Features
- Zero-cost abstractions: No runtime overhead for event dispatch
- Type-safe: Compile-time guarantees for event handling
- Thread-safe: Built for concurrent applications
- Async support: Full async/await compatibility (with “async” feature)
- Flexible: Support for sync, async, and priority-based listeners
- Easy to use: Simple API and intuitive methods
§Quick Start
use mod_events::prelude::*;
// Define your event
#[derive(Debug, Clone)]
struct UserRegistered {
user_id: u64,
email: String,
}
impl Event for UserRegistered {
fn as_any(&self) -> &dyn std::any::Any {
self
}
}
// Create dispatcher and subscribe
let dispatcher = EventDispatcher::new();
dispatcher.on(|event: &UserRegistered| {
println!("Welcome {}!", event.email);
});
// Dispatch events
dispatcher.emit(UserRegistered {
user_id: 123,
email: "alice@example.com".to_string(),
});
Modules§
- prelude
- Convenience re-exports
Structs§
- Dispatch
Result - Result of event dispatch
- Event
Dispatcher - High-performance event dispatcher
- Event
Metadata - Event metadata for debugging and monitoring
- Listener
Id - Unique identifier for event listeners
- Middleware
Manager - Middleware manager for event processing
Enums§
- Priority
- Priority levels for event listeners
Traits§
- Async
Event Listener - Event
- Core trait that all events must implement
- Event
Listener - Trait for synchronous event listeners
Type Aliases§
- Async
Event Result - Trait for asynchronous event listeners
- Middleware
Function - Middleware function type