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>;
// 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>
type IpTransportCtx<'a>: TransportIpContext<I, BT, DeviceId = D::Strong, WeakDeviceId = D> + DeviceIpSocketHandler<I, BT> + TcpCoreTimerContext<I, D, BT>
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".