use super::ProtocolEvent;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EventDurability {
DurableFact,
LiveProjection,
}
impl ProtocolEvent {
pub fn durability(&self) -> EventDurability {
match self {
Self::AssistantDelta { .. }
| Self::ToolOutputDelta { .. }
| Self::StreamResyncRequired { .. }
| Self::PersistenceFailed { .. } => EventDurability::LiveProjection,
_ => EventDurability::DurableFact,
}
}
pub fn is_durable_fact(&self) -> bool {
self.durability() == EventDurability::DurableFact
}
}