Trait netstack3_tcp::TcpDemuxContext

source ·
pub trait TcpDemuxContext<I: DualStackIpExt, D: WeakDeviceIdentifier, BT: TcpBindingsTypes>: TcpCoreTimerContext<I, D, BT> {
    type IpTransportCtx<'a>: TransportIpContext<I, BT, DeviceId = D::Strong, WeakDeviceId = D> + DeviceIpSocketHandler<I, BT> + TcpCoreTimerContext<I, D, BT> + CounterContext<TcpCounters<I>> + CounterContext<TcpCounters<I::OtherVersion>>;

    // Required methods
    fn with_demux<O, F: FnOnce(&DemuxState<I, D, BT>) -> O>(
        &mut self,
        cb: F,
    ) -> O;
    fn with_demux_mut<O, F: FnOnce(&mut DemuxState<I, D, BT>) -> O>(
        &mut self,
        cb: F,
    ) -> O;
}
Expand description

The core execution context abstracting demux state access for TCP.

Required Associated Types§

source

type IpTransportCtx<'a>: TransportIpContext<I, BT, DeviceId = D::Strong, WeakDeviceId = D> + DeviceIpSocketHandler<I, BT> + TcpCoreTimerContext<I, D, BT> + CounterContext<TcpCounters<I>> + CounterContext<TcpCounters<I::OtherVersion>>

The inner IP transport context.

Required Methods§

source

fn with_demux<O, F: FnOnce(&DemuxState<I, D, BT>) -> O>(&mut self, cb: F) -> O

Calls f with non-mutable access to the demux state.

source

fn with_demux_mut<O, F: FnOnce(&mut DemuxState<I, D, BT>) -> O>( &mut self, cb: F, ) -> O

Calls f with mutable access to the demux state.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<I: DualStackIpExt, D: WeakDeviceIdentifier, BT: TcpBindingsTypes, P: TcpDemuxContext<I, D, BT>> TcpDemuxContext<I, D, BT> for UninstantiableWrapper<P>

§

type IpTransportCtx<'a> = <P as TcpDemuxContext<I, D, BT>>::IpTransportCtx<'a>

source§

fn with_demux<O, F: FnOnce(&DemuxState<I, D, BT>) -> O>(&mut self, _cb: F) -> O

source§

fn with_demux_mut<O, F: FnOnce(&mut DemuxState<I, D, BT>) -> O>( &mut self, _cb: F, ) -> O

Implementors§