Trait FeatureBits

Source
pub trait FeatureBits: Flags<Bits = le128>
where Self: From<F> + AsRef<F> + AsMut<F>, F: From<Self> + AsRef<Self> + AsMut<Self>,
{ // Provided methods fn requirements(&self) -> Self { ... } fn requirements_satisfied(&self) -> bool { ... } }
Expand description

Feature Bits

Provided Methods§

Source

fn requirements(&self) -> Self

Returns the feature that this feature requires.

If self is a single feature and multiple features are returned, self requires only one of them.

§Examples
use virtio::FeatureBits;

assert_eq!(
    virtio::net::F::GUEST_TSO4.requirements(),
    virtio::net::F::GUEST_CSUM
);
assert_eq!(
    virtio::net::F::GUEST_ECN.requirements(),
    virtio::net::F::GUEST_TSO4 | virtio::net::F::GUEST_TSO6
);
Source

fn requirements_satisfied(&self) -> bool

Returns true if all internal feature requirements are satisfied.

§Examples
use virtio::FeatureBits;

assert!((virtio::net::F::GUEST_TSO4 | virtio::net::F::GUEST_CSUM).requirements_satisfied());
assert!(
    (virtio::net::F::GUEST_ECN | virtio::net::F::GUEST_TSO4 | virtio::net::F::GUEST_CSUM)
        .requirements_satisfied()
);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl FeatureBits for virtio_spec::fs::F

Source§

impl FeatureBits for virtio_spec::net::F

Source§

impl FeatureBits for virtio_spec::F

Source§

impl FeatureBits for virtio_spec::vsock::F