Struct netstack3_core::TimerId
source · pub struct TimerId<BT: BindingsTypes>(/* private fields */);
Expand description
The identifier for any timer event.
Trait Implementations§
source§impl<BT: BindingsTypes> Clone for TimerId<BT>
impl<BT: BindingsTypes> Clone for TimerId<BT>
source§impl<BT: BindingsTypes> Debug for TimerId<BT>
impl<BT: BindingsTypes> Debug for TimerId<BT>
source§impl<BT: BindingsTypes, IpType: Ip> GenericOverIp<IpType> for TimerId<BT>
impl<BT: BindingsTypes, IpType: Ip> GenericOverIp<IpType> for TimerId<BT>
source§impl<CC, BT> HandleableTimer<CC, BT> for TimerId<BT>where
BT: BindingsTypes,
CC: TimerHandler<BT, DeviceLayerTimerId<BT>> + TimerHandler<BT, TransportLayerTimerId<BT>> + TimerHandler<BT, IpLayerTimerId> + TimerHandler<BT, IpDeviceTimerId<Ipv4, WeakDeviceId<BT>, IpAddrCtxSpec<BT>>> + TimerHandler<BT, IpDeviceTimerId<Ipv6, WeakDeviceId<BT>, IpAddrCtxSpec<BT>>>,
impl<CC, BT> HandleableTimer<CC, BT> for TimerId<BT>where
BT: BindingsTypes,
CC: TimerHandler<BT, DeviceLayerTimerId<BT>> + TimerHandler<BT, TransportLayerTimerId<BT>> + TimerHandler<BT, IpLayerTimerId> + TimerHandler<BT, IpDeviceTimerId<Ipv4, WeakDeviceId<BT>, IpAddrCtxSpec<BT>>> + TimerHandler<BT, IpDeviceTimerId<Ipv6, WeakDeviceId<BT>, IpAddrCtxSpec<BT>>>,
source§impl<BT: BindingsTypes> Hash for TimerId<BT>
impl<BT: BindingsTypes> Hash for TimerId<BT>
source§impl<BT: BindingsTypes> PartialEq for TimerId<BT>
impl<BT: BindingsTypes> PartialEq for TimerId<BT>
source§impl WithFakeTimerContext<TimerId<FakeBindingsCtx>> for FakeCtx
impl WithFakeTimerContext<TimerId<FakeBindingsCtx>> for FakeCtx
source§fn with_fake_timer_ctx<O, F: FnOnce(&FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>(
&self,
f: F
) -> O
fn with_fake_timer_ctx<O, F: FnOnce(&FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>( &self, f: F ) -> O
Calls the callback with a borrow of
FakeTimerCtx
.source§fn with_fake_timer_ctx_mut<O, F: FnOnce(&mut FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>(
&mut self,
f: F
) -> O
fn with_fake_timer_ctx_mut<O, F: FnOnce(&mut FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>( &mut self, f: F ) -> O
Calls the callback with a mutable borrow of
FakeTimerCtx
.source§impl WithFakeTimerContext<TimerId<FakeBindingsCtx>> for FakeBindingsCtx
impl WithFakeTimerContext<TimerId<FakeBindingsCtx>> for FakeBindingsCtx
source§fn with_fake_timer_ctx<O, F: FnOnce(&FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>(
&self,
f: F
) -> O
fn with_fake_timer_ctx<O, F: FnOnce(&FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>( &self, f: F ) -> O
Calls the callback with a borrow of
FakeTimerCtx
.source§fn with_fake_timer_ctx_mut<O, F: FnOnce(&mut FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>(
&mut self,
f: F
) -> O
fn with_fake_timer_ctx_mut<O, F: FnOnce(&mut FakeTimerCtx<TimerId<FakeBindingsCtx>>) -> O>( &mut self, f: F ) -> O
Calls the callback with a mutable borrow of
FakeTimerCtx
.impl<BT: BindingsTypes> Eq for TimerId<BT>
Auto Trait Implementations§
impl<BT> Freeze for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
impl<BT> RefUnwindSafe for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as DeviceLayerStateTypes>::DeviceIdentifier: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::EthernetDeviceState: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::LoopbackDeviceState: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::PureIpDeviceState: RefUnwindSafe,
impl<BT> Send for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
impl<BT> Sync for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
impl<BT> Unpin for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
impl<BT> UnwindSafe for TimerId<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as DeviceLayerStateTypes>::DeviceIdentifier: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::EthernetDeviceState: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::LoopbackDeviceState: RefUnwindSafe,
<BT as DeviceLayerStateTypes>::PureIpDeviceState: RefUnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<CC, BC, Meta> RecvFrameContext<BC, Meta> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
impl<CC, BC, Meta> RecvFrameContext<BC, Meta> 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§impl<Meta, BC> SendableFrameMeta<FakeFrameCtx<Meta>, BC> for Meta
impl<Meta, BC> SendableFrameMeta<FakeFrameCtx<Meta>, BC> for Meta
source§impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
Id: HandleableTimer<CC, BC>,
impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
Id: HandleableTimer<CC, BC>,
source§fn handle_timer(&mut self, bindings_ctx: &mut BC, id: Id)
fn handle_timer(&mut self, bindings_ctx: &mut BC, id: Id)
Handle a timer firing.