Struct netstack3_core::Ctx

source ·
pub struct Ctx<NonSyncCtx: NonSyncContext> {
    pub non_sync_ctx: NonSyncCtx,
    pub sync_ctx: SyncCtx<NonSyncCtx>,
}
Expand description

Context available during the execution of the netstack.

Ctx provides access to the state of the netstack and to an event dispatcher which can be used to emit events and schedule timers. A mutable reference to a Ctx is passed to every function in the netstack.

Fields§

§non_sync_ctx: NonSyncCtx

The non-synchronized context.

§sync_ctx: SyncCtx<NonSyncCtx>

The synchronized context.

Implementations§

source§

impl<NonSyncCtx: NonSyncContext + Default> Ctx<NonSyncCtx>

source

pub fn new(state: StackState<NonSyncCtx>) -> Ctx<NonSyncCtx>

Constructs a new Ctx.

Trait Implementations§

source§

impl<NonSyncCtx: NonSyncContext + Default> Default for Ctx<NonSyncCtx>where StackState<NonSyncCtx>: Default,

source§

fn default() -> Ctx<NonSyncCtx>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<NonSyncCtx> RefUnwindSafe for Ctx<NonSyncCtx>where NonSyncCtx: RefUnwindSafe, <NonSyncCtx as InstantContext>::Instant: RefUnwindSafe,

§

impl<NonSyncCtx> Send for Ctx<NonSyncCtx>where NonSyncCtx: Send, <NonSyncCtx as NonSyncContext>::ProvidedBuffers: Send, <NonSyncCtx as NonSyncContext>::ReceiveBuffer: Send, <NonSyncCtx as NonSyncContext>::ReturnedBuffers: Send, <NonSyncCtx as NonSyncContext>::SendBuffer: Send,

§

impl<NonSyncCtx> Sync for Ctx<NonSyncCtx>where NonSyncCtx: Sync, <NonSyncCtx as NonSyncContext>::ProvidedBuffers: Send, <NonSyncCtx as NonSyncContext>::ReceiveBuffer: Send, <NonSyncCtx as NonSyncContext>::ReturnedBuffers: Send, <NonSyncCtx as NonSyncContext>::SendBuffer: Send,

§

impl<NonSyncCtx> Unpin for Ctx<NonSyncCtx>where NonSyncCtx: Unpin, <NonSyncCtx as InstantContext>::Instant: Unpin, <NonSyncCtx as NonSyncContext>::ProvidedBuffers: Unpin, <NonSyncCtx as NonSyncContext>::ReceiveBuffer: Unpin, <NonSyncCtx as NonSyncContext>::ReturnedBuffers: Unpin, <NonSyncCtx as NonSyncContext>::SendBuffer: Unpin,

§

impl<NonSyncCtx> UnwindSafe for Ctx<NonSyncCtx>where NonSyncCtx: UnwindSafe, <NonSyncCtx as InstantContext>::Instant: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Takeable for Twhere T: Default,

source§

fn take(&mut self) -> T

Replaces self with an implementor-defined “empty” value.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<B, A> LockBefore<B> for Awhere B: LockAfter<A>,

source§

impl<C> NonSyncContext for C