Skip to main content

solti_model/
error.rs

1//! # Model errors
2//!
3//! [`ModelError`] reports parsing and validation failures.
4
5use std::borrow::Cow;
6
7use thiserror::Error;
8
9/// Error type for parsing and validating model values.
10#[derive(Debug, Error)]
11#[non_exhaustive]
12pub enum ModelError {
13    /// Unknown admission policy name.
14    #[error("unknown admission policy: {0}")]
15    UnknownAdmission(String),
16
17    /// Unknown restart policy name.
18    #[error("unknown restart policy: {0}")]
19    UnknownRestart(String),
20
21    /// Unknown jitter policy name.
22    #[error("unknown jitter policy: {0}")]
23    UnknownJitter(String),
24
25    /// Unknown task phase name.
26    #[error("unknown task phase: {0}")]
27    UnknownTaskPhase(String),
28
29    /// Invalid model value or state.
30    #[error("invalid model: {0}")]
31    Invalid(Cow<'static, str>),
32}
33
34/// Convenience alias for `Result<T, ModelError>`.
35pub type ModelResult<T> = Result<T, ModelError>;