#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum DictInitMode {
CreateFiles,
CheckFiles,
}
impl DictInitMode {
#[must_use]
pub const fn from_raw(value: u32) -> Self {
match value {
0 => Self::CreateFiles,
_ => Self::CheckFiles,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum DictRecoveryMode {
InitializeServer,
InitializeTablespaces,
RestartServer,
}
impl DictRecoveryMode {
#[must_use]
pub const fn from_raw(value: u32) -> Self {
match value {
0 => Self::InitializeServer,
1 => Self::InitializeTablespaces,
_ => Self::RestartServer,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn dict_init_mode_round_trip() {
assert_eq!(DictInitMode::from_raw(0), DictInitMode::CreateFiles);
assert_eq!(DictInitMode::from_raw(1), DictInitMode::CheckFiles);
assert_eq!(DictInitMode::from_raw(99), DictInitMode::CheckFiles);
}
#[test]
fn dict_recovery_mode_round_trip() {
assert_eq!(
DictRecoveryMode::from_raw(0),
DictRecoveryMode::InitializeServer
);
assert_eq!(
DictRecoveryMode::from_raw(1),
DictRecoveryMode::InitializeTablespaces
);
assert_eq!(
DictRecoveryMode::from_raw(2),
DictRecoveryMode::RestartServer
);
assert_eq!(
DictRecoveryMode::from_raw(99),
DictRecoveryMode::RestartServer
);
}
}