use std::time::Duration;
use bevy::prelude::Reflect;
#[derive(Clone, Copy, PartialEq, Eq, Debug, Reflect)]
pub enum RetryOn {
NewRevision,
Interval(Duration),
}
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, Reflect)]
pub enum OnAbort {
#[default]
LeaveAsIs,
Revert,
}
#[derive(Clone, Copy, PartialEq, Eq, Debug, Default, Reflect)]
pub enum OnSessionLoss {
#[default]
Recreate,
ReportOnly,
}
#[cfg(test)]
mod tests {
use super::OnAbort;
use super::OnSessionLoss;
#[test]
fn leave_as_is_is_the_default_abort_policy() {
assert!(matches!(OnAbort::default(), OnAbort::LeaveAsIs));
}
#[test]
fn recreate_is_the_default_session_loss_policy() {
assert!(matches!(OnSessionLoss::default(), OnSessionLoss::Recreate));
}
}