aion_store/timer.rs
1//! `TimerEntry` and timer-facing types.
2
3use aion_core::{TimerId, WorkflowId};
4use chrono::{DateTime, Utc};
5use serde::{Deserialize, Serialize};
6
7/// Durable timer record returned by [`crate::ReadableEventStore::expired_timers`].
8#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
9pub struct TimerEntry {
10 /// Workflow that owns the timer.
11 pub workflow_id: WorkflowId,
12 /// Timer identifier within the owning workflow.
13 pub timer_id: TimerId,
14 /// Instant at which the timer is due to fire.
15 pub fire_at: DateTime<Utc>,
16}