Struct netstack3_core::StackState
source · pub struct StackState<BT: BindingsTypes> { /* private fields */ }
Expand description
The state associated with the network stack.
Implementations§
source§impl<BT: BindingsTypes> StackState<BT>
impl<BT: BindingsTypes> StackState<BT>
sourcepub fn api<'a, BP: ContextProvider<Context = BT>>(
&'a self,
bindings_ctx: BP
) -> CoreApi<'a, BP>
pub fn api<'a, BP: ContextProvider<Context = BT>>( &'a self, bindings_ctx: BP ) -> CoreApi<'a, BP>
Gets access to the API from a mutable reference to the bindings context.
source§impl<BC: BindingsContext> StackState<BC>
impl<BC: BindingsContext> StackState<BC>
Auto Trait Implementations§
impl<BT> !Freeze for StackState<BT>
impl<BT> RefUnwindSafe for StackState<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as InstantBindingsTypes>::Instant: RefUnwindSafe,
impl<BT> Send for StackState<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as FilterBindingsTypes>::DeviceClass: Sync + Send,
impl<BT> Sync for StackState<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as FilterBindingsTypes>::DeviceClass: Sync + Send,
impl<BT> Unpin for StackState<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as InstantBindingsTypes>::Instant: Unpin,
<BT as TimerBindingsTypes>::Timer: Unpin,
<BT as FilterBindingsTypes>::DeviceClass: Unpin,
impl<BT> UnwindSafe for StackState<BT>where
BT: TimerBindingsTypes<DispatchId = TimerId<BT>> + UdpBindingsTypes + IcmpBindingsTypes + IcmpEchoBindingsTypes + FilterBindingsTypes + TcpBindingsTypes + DeviceLayerTypes + ReferenceNotifiers + LinkResolutionContext<EthernetLinkDevice> + DeviceSocketTypes + DeviceLayerStateTypes + InstantContext + InstantBindingsTypes + 'static,
<BT as InstantBindingsTypes>::Instant: 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
§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.