shared/models/node/
events.rs1use crate::models::EventEmittingModel;
2use std::sync::LazyLock;
3
4#[non_exhaustive]
5pub enum NodeEvent {
6 TokenReset {
8 node: Box<super::Node>,
9 token_id: String,
10 token: String,
11 },
12 StateReset { node: Box<super::Node> },
15}
16
17#[async_trait::async_trait]
18impl EventEmittingModel for super::Node {
19 type Event = NodeEvent;
20
21 fn get_event_emitter() -> &'static crate::events::EventEmitter<Self::Event> {
22 static EVENT_EMITTER: LazyLock<crate::events::EventEmitter<NodeEvent>> =
23 LazyLock::new(crate::events::EventEmitter::default);
24
25 &EVENT_EMITTER
26 }
27}