#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
pub enum IntelIxgbevfInterruptThrottleRateSetting
{
Off,
Dynamic,
Explicit(IntelIxgbevfInterruptThrottleRate)
}
impl Into<u32> for IntelIxgbevfInterruptThrottleRateSetting
{
#[inline(always)]
fn into(self) -> u32
{
use self::IntelIxgbevfInterruptThrottleRateSetting::*;
match self
{
Off => Self::OffValue,
Dynamic => Self::DynamicValue,
Explicit(explicit) => explicit.into(),
}
}
}
impl Default for IntelIxgbevfInterruptThrottleRateSetting
{
#[inline(always)]
fn default() -> Self
{
IntelIxgbevfInterruptThrottleRateSetting::Dynamic
}
}
impl TryFrom<u32> for IntelIxgbevfInterruptThrottleRateSetting
{
type Error = ParseNumberError;
#[inline(always)]
fn try_from(value: u32) -> Result<Self, Self::Error>
{
use self::IntelIxgbevfInterruptThrottleRateSetting::*;
match value
{
Self::OffValue => Ok(Off),
Self::DynamicValue => Ok(Dynamic),
_ => IntelIxgbevfInterruptThrottleRate::try_from(value).map(Explicit)
}
}
}
impl IntelIxgbevfInterruptThrottleRateSetting
{
const OffValue: u32 = 0;
const DynamicValue: u32 = 1;
}