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}