Skip to main content

codetether_rlm/events/
outcome.rs

1//! RLM outcome enum.
2
3use serde::{Deserialize, Serialize};
4
5/// Why an RLM loop finished.
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7#[serde(rename_all = "snake_case")]
8pub enum RlmOutcome {
9    Converged,
10    Exhausted,
11    Failed,
12    Aborted,
13}
14
15impl RlmOutcome {
16    /// `true` only for `Converged`.
17    pub const fn is_success(self) -> bool {
18        matches!(self, Self::Converged)
19    }
20}