pub struct ArpState<D: ArpDevice, BT: NudBindingsTypes<D>> { /* private fields */ }
Expand description
The state associated with an instance of the Address Resolution Protocol (ARP).
Each device will contain an ArpState
object for each of the network
protocols that it supports.
Implementations§
Source§impl<D: ArpDevice, BC: NudBindingsTypes<D> + TimerContext> ArpState<D, BC>
impl<D: ArpDevice, BC: NudBindingsTypes<D> + TimerContext> ArpState<D, BC>
Sourcepub fn new<DeviceId: WeakDeviceIdentifier, CC: CoreTimerContext<NudTimerId<Ipv4, D, DeviceId>, BC>>(
bindings_ctx: &mut BC,
device_id: DeviceId,
) -> Self
pub fn new<DeviceId: WeakDeviceIdentifier, CC: CoreTimerContext<NudTimerId<Ipv4, D, DeviceId>, BC>>( bindings_ctx: &mut BC, device_id: DeviceId, ) -> Self
Creates a new ArpState
for device_id
.
Trait Implementations§
Source§impl<BT: DeviceLayerTypes> OrderedLockAccess<ArpState<EthernetLinkDevice, BT>> for IpLinkDeviceState<EthernetLinkDevice, BT>
impl<BT: DeviceLayerTypes> OrderedLockAccess<ArpState<EthernetLinkDevice, BT>> for IpLinkDeviceState<EthernetLinkDevice, BT>
Source§type Lock = Mutex<ArpState<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>
fn ordered_lock_access(&self) -> OrderedLockRef<'_, Self::Lock>
Returns a borrow to the order-aware lock. Read more
Auto Trait Implementations§
impl<D, BT> Freeze for ArpState<D, BT>where
<D as LinkDevice>::Address: Sized,
<BT as InstantBindingsTypes>::Instant: Freeze,
<BT as TimerBindingsTypes>::Timer: Freeze,
impl<D, BT> RefUnwindSafe for ArpState<D, BT>where
<D as LinkDevice>::Address: Sized + RefUnwindSafe,
<BT as InstantBindingsTypes>::Instant: RefUnwindSafe,
<BT as TimerBindingsTypes>::Timer: RefUnwindSafe,
D: RefUnwindSafe,
<BT as LinkResolutionContext<D>>::Notifier: RefUnwindSafe,
impl<D, BT> Send for ArpState<D, BT>
impl<D, BT> Sync for ArpState<D, BT>
impl<D, BT> Unpin for ArpState<D, BT>where
<D as LinkDevice>::Address: Sized + Unpin,
<BT as InstantBindingsTypes>::Instant: Unpin,
<BT as TimerBindingsTypes>::Timer: Unpin,
D: Unpin,
<BT as LinkResolutionContext<D>>::Notifier: Unpin,
impl<D, BT> UnwindSafe for ArpState<D, BT>where
<D as LinkDevice>::Address: Sized + UnwindSafe,
<BT as InstantBindingsTypes>::Instant: UnwindSafe,
<BT as TimerBindingsTypes>::Timer: UnwindSafe,
D: UnwindSafe,
<BT as LinkResolutionContext<D>>::Notifier: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
Source§impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
Source§fn send_frame<S>(
&mut self,
bindings_ctx: &mut BC,
metadata: Meta,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>where
S: Serializer,
<S as Serializer>::Buffer: BufferMut,
fn send_frame<S>(
&mut self,
bindings_ctx: &mut BC,
metadata: Meta,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>where
S: Serializer,
<S as Serializer>::Buffer: BufferMut,
Send a frame. Read more
Source§impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
Source§fn handle_timer(
&mut self,
bindings_ctx: &mut BC,
dispatch: Id,
timer: <BC as TimerBindingsTypes>::UniqueTimerId,
)
fn handle_timer( &mut self, bindings_ctx: &mut BC, dispatch: Id, timer: <BC as TimerBindingsTypes>::UniqueTimerId, )
Handle a timer firing. Read more