canic_core/domain/policy/
mod.rs1pub mod cycles;
2pub mod env;
3pub mod log;
4pub mod placement;
5pub mod pool;
6pub mod randomness;
7pub mod topology;
8pub mod upgrade;
9
10use crate::{Error, ThisError, domain::DomainError};
11
12#[derive(Debug, ThisError)]
17pub enum PolicyError {
18 #[error(transparent)]
19 EnvPolicy(#[from] env::EnvPolicyError),
20
21 #[error(transparent)]
22 PoolPolicy(#[from] pool::PoolPolicyError),
23
24 #[error(transparent)]
25 TopologyPolicy(#[from] topology::TopologyPolicyError),
26
27 #[error(transparent)]
28 ScalingPolicy(#[from] placement::scaling::ScalingPolicyError),
29
30 #[error(transparent)]
31 ShardingPolicy(#[from] placement::sharding::ShardingPolicyError),
32}
33
34impl From<PolicyError> for Error {
35 fn from(err: PolicyError) -> Self {
36 DomainError::from(err).into()
37 }
38}