Type Alias netstack3_device::IpLinkDeviceState

source ·
pub type IpLinkDeviceState<T, BT> = IpLinkDeviceStateInner<<T as DeviceStateSpec>::Link<BT>, BT>;
Expand description

A convenience wrapper around IpLinkDeviceStateInner that uses DeviceStateSpec to extract the link state type and make type signatures shorter.

Aliased Type§

struct IpLinkDeviceState<T, BT> {
    pub ip: DualStackIpDeviceState<BT>,
    pub link: <T as DeviceStateSpec>::Link<BT>,
    pub counters: DeviceCounters,
    /* private fields */
}

Fields§

§ip: DualStackIpDeviceState<BT>

The device’s IP state.

§link: <T as DeviceStateSpec>::Link<BT>

The device’s link state.

§counters: DeviceCounters

Common device counters.

Trait Implementations§

source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<ArpState<EthernetLinkDevice, BT>> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = Mutex<ArpState<EthernetLinkDevice, BT>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DequeueState<(), Buf<Vec<u8>>>> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = Mutex<DequeueState<(), Buf<Vec<u8>>>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DequeueState<LoopbackRxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>> for IpLinkDeviceState<LoopbackDevice, BT>

§

type Lock = Mutex<DequeueState<LoopbackRxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DequeueState<LoopbackTxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>> for IpLinkDeviceState<LoopbackDevice, BT>

§

type Lock = Mutex<DequeueState<LoopbackTxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DequeueState<PureIpDeviceTxQueueFrameMetadata, Buf<Vec<u8>>>> for IpLinkDeviceState<PureIpDevice, BT>

§

type Lock = Mutex<DequeueState<PureIpDeviceTxQueueFrameMetadata, Buf<Vec<u8>>>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DynamicEthernetDeviceState> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = RwLock<DynamicEthernetDeviceState>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<DynamicPureIpDeviceState> for IpLinkDeviceState<PureIpDevice, BT>

§

type Lock = RwLock<DynamicPureIpDeviceState>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes, I: Ip> OrderedLockAccess<IpMarked<I, NudUserConfig>> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = RwLock<IpMarked<I, NudUserConfig>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<NudState<Ipv6, EthernetLinkDevice, BT>> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = Mutex<NudState<Ipv6, EthernetLinkDevice, BT>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<ReceiveQueueState<LoopbackRxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>> for IpLinkDeviceState<LoopbackDevice, BT>

§

type Lock = Mutex<ReceiveQueueState<LoopbackRxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<TransmitQueueState<(), Buf<Vec<u8>>, BufVecU8Allocator>> for IpLinkDeviceState<EthernetLinkDevice, BT>

§

type Lock = Mutex<TransmitQueueState<(), Buf<Vec<u8>>, BufVecU8Allocator>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<TransmitQueueState<LoopbackTxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>, BufVecU8Allocator>> for IpLinkDeviceState<LoopbackDevice, BT>

§

type Lock = Mutex<TransmitQueueState<LoopbackTxQueueMeta<WeakDeviceId<BT>>, Buf<Vec<u8>>, BufVecU8Allocator>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more
source§

impl<BT: DeviceLayerTypes> OrderedLockAccess<TransmitQueueState<PureIpDeviceTxQueueFrameMetadata, Buf<Vec<u8>>, BufVecU8Allocator>> for IpLinkDeviceState<PureIpDevice, BT>

§

type Lock = Mutex<TransmitQueueState<PureIpDeviceTxQueueFrameMetadata, Buf<Vec<u8>>, BufVecU8Allocator>>

The lock type that observes ordering. Read more
source§

fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>

Returns a borrow to the order-aware lock. Read more