#[event]Expand description
Unified macro for defining events with static channels.
Generates PublishableEvent, SubscribableEvent, and AsyncPublishableEvent
trait implementations.
§Parameters
channel_size: Buffer size of the channel (default: 8 for MPSC, 1 for PubSub)subs: Max subscribers (triggers PubSub mode, default: 4)pubs: Max publishers (triggers PubSub mode, default: 1)
If subs or pubs is specified, PubSub channel is used; otherwise MPSC channel.
§Examples
ⓘ
// MPSC channel (single consumer)
#[event(channel_size = 16)]
#[derive(Clone, Copy, Debug)]
pub struct KeyboardEvent { /* ... */ }
// PubSub channel (multiple subscribers)
#[event(channel_size = 4, subs = 8, pubs = 2)]
#[derive(Clone, Copy, Debug)]
pub struct LedIndicatorEvent { /* ... */ }