mina_node/event_source/
event_source_actions.rs1use serde::{Deserialize, Serialize};
2
3pub type EventSourceActionWithMeta = redux::ActionWithMeta<EventSourceAction>;
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6#[expect(clippy::large_enum_variant, reason = "This enum wraps super::Event")]
7pub enum EventSourceAction {
8 ProcessEvents,
15
16 NewEvent { event: super::Event },
18
19 WaitForEvents,
22
23 WaitTimeout,
25}
26
27impl redux::EnablingCondition<crate::State> for EventSourceAction {
28 fn is_enabled(&self, _: &crate::State, _time: redux::Timestamp) -> bool {
29 match self {
30 EventSourceAction::ProcessEvents => true,
31 EventSourceAction::NewEvent { event: _ } => true,
32 EventSourceAction::WaitForEvents => true,
33 EventSourceAction::WaitTimeout => true,
34 }
35 }
36}