Skip to main content

aura_protocol/
prelude.rs

1//! Aura protocol prelude.
2//!
3//! Curated re-exports for protocol orchestration.
4
5pub use crate::error::ProtocolError;
6pub use crate::handlers::*;
7pub use crate::session::{SessionOutcome, SessionStatus};
8pub use crate::termination::{
9    TerminationBudget, TerminationBudgetConfig, TerminationBudgetError, TerminationProtocolClass,
10};
11pub use crate::types::{
12    ProtocolDuration, ProtocolMode, ProtocolPriority, ProtocolSessionStatus, ProtocolType,
13};
14
15/// Composite effect requirements for protocol orchestration (excludes StorageEffects).
16pub trait ProtocolEffects:
17    aura_guards::GuardEffects
18    + aura_guards::GuardContextProvider
19    + aura_core::effects::time::PhysicalTimeEffects
20    + aura_core::effects::FlowBudgetEffects
21    + aura_core::effects::JournalEffects
22    + aura_core::effects::LeakageEffects
23    + aura_core::effects::TransportEffects
24{
25}
26
27impl<T> ProtocolEffects for T where
28    T: aura_guards::GuardEffects
29        + aura_guards::GuardContextProvider
30        + aura_core::effects::time::PhysicalTimeEffects
31        + aura_core::effects::FlowBudgetEffects
32        + aura_core::effects::JournalEffects
33        + aura_core::effects::LeakageEffects
34        + aura_core::effects::TransportEffects
35{
36}