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§
sourcetype IpTransportCtx<'a>: TransportIpContext<I, BT, DeviceId = D::Strong, WeakDeviceId = D> + DeviceIpSocketHandler<I, BT> + TcpCoreTimerContext<I, D, BT> + CounterContext<TcpCounters<I>> + CounterContext<TcpCounters<I::OtherVersion>>
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§
sourcefn with_demux<O, F: FnOnce(&DemuxState<I, D, BT>) -> O>(&mut self, cb: F) -> O
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.
sourcefn with_demux_mut<O, F: FnOnce(&mut 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
Calls f
with mutable access to the demux state.
Object Safety§
This trait is not object safe.