#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub enum KernelPanicRebootAction
{
Immediate,
Never,
AfterSomeSeconds
{
seconds: NonZeroU32,
}
}
impl Default for KernelPanicRebootAction
{
#[inline(always)]
fn default() -> Self
{
KernelPanicRebootAction::AfterSomeSeconds { seconds: new_non_zero_u32(120) }
}
}
impl<'a> IntoLineFeedTerminatedByteString<'a> for KernelPanicRebootAction
{
#[inline(always)]
fn into_line_feed_terminated_byte_string(self) -> Cow<'a, [u8]>
{
use self::KernelPanicRebootAction::*;
match self
{
Immediate => Cow::from(b"-1\n" as &[u8]),
Never => Cow::from(b"0\n" as &[u8]),
AfterSomeSeconds { seconds } => UnpaddedDecimalInteger(seconds).into_line_feed_terminated_byte_string()
}
}
}