use std::{fmt, hash, time::Duration};
#[derive(Debug, Clone, Copy, PartialEq, Eq, hash::Hash, Default)]
pub enum StepAction {
Continue,
Yield,
AwaitEvent,
Backoff(Duration),
#[default]
Never,
}
impl fmt::Display for StepAction {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
StepAction::Continue => write!(f, "Continue"),
StepAction::Yield => write!(f, "Yield"),
StepAction::AwaitEvent => write!(f, "AwaitEvent"),
StepAction::Backoff(_) => write!(f, "Backoff"),
StepAction::Never => write!(f, "Never"),
}
}
}