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