canic_core/ops/model/
mod.rs

1pub mod memory;
2
3use crate::{
4    Error, ThisError,
5    ops::{OpsError, model::memory::MemoryOpsError},
6};
7use std::time::Duration;
8
9/// Shared initial delay for ops timers to allow init work to settle.
10pub const OPS_INIT_DELAY: Duration = Duration::from_secs(10);
11
12/// Shared cadence for cycle tracking (10 minutes).
13pub const OPS_CYCLE_TRACK_INTERVAL: Duration = Duration::from_secs(60 * 10);
14
15/// Shared cadence for log retention (10 minutes).
16pub const OPS_LOG_RETENTION_INTERVAL: Duration = Duration::from_secs(60 * 10);
17
18/// Reserve timer initial delay (30 seconds) before first check.
19pub const OPS_RESERVE_INIT_DELAY: Duration = Duration::from_secs(30);
20
21/// Reserve check cadence (30 minutes).
22pub const OPS_RESERVE_CHECK_INTERVAL: Duration = Duration::from_secs(30 * 60);
23
24///
25/// ModelOpsError
26/// Logical or configuration errors that occur during sharding planning.
27///
28
29#[derive(Debug, ThisError)]
30pub enum ModelOpsError {
31    #[error(transparent)]
32    MemoryOpsError(#[from] MemoryOpsError),
33}
34
35impl From<ModelOpsError> for Error {
36    fn from(err: ModelOpsError) -> Self {
37        OpsError::ModelOpsError(err).into()
38    }
39}