pub(crate) struct FeatureValue
{
pub(crate) requested: bool,
pub(crate) active: bool,
}
impl FeatureValue
{
#[inline(always)]
pub(crate) fn update_if_desired(&self, feature: NETIF_F, set_features: &mut VariablySizedEthtoolCommandWrapper<ethtool_sfeatures>, desired_value: bool) -> bool
{
match (self.requested, self.active, desired_value)
{
(true, true, true) => return false,
(true, true, false) => (),
(true, false, true) => return false,
(true, false, false) => (),
(false, true, true) => return false,
(false, true, false) => (),
(false, false, true) => (),
(false, false, false) => return false,
}
set_features.set_to_be_changed(feature, desired_value);
true
}
}