pub trait CoreContext<I, BC>: StateContext<I, BC> + CounterContext<IpMarked<I, UdpCountersInner>> + TcpContext<I, BC> + StateContext<I, BC> + IcmpStateContext + IpLayerContext<I, BC> + NudContext<I, EthernetLinkDevice, BC> + IpDeviceConfigurationContext<I, BC> + IpDeviceConfigurationHandler<I, BC> + IpSocketContext<I, BC> + DeviceIdContext<AnyDevice, DeviceId = DeviceId<BC>, WeakDeviceId = WeakDeviceId<BC>> + DeviceIdContext<EthernetLinkDevice, DeviceId = EthernetDeviceId<BC>, WeakDeviceId = EthernetWeakDeviceId<BC>>
where I: IpExt, BC: IpBindingsContext<I>,
{ }
Expand description

A marker trait for core context implementations.

This trait allows bindings to express trait bounds on routines that have IP type parameters. It is an umbrella of all the core contexts that must be implemented by crate::context::UnlockedCoreCtx to satisfy all the API objects vended by crate::api::CoreApi.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<I, BC, O> CoreContext<I, BC> for O
where I: IpExt, BC: IpBindingsContext<I>, O: StateContext<I, BC> + CounterContext<IpMarked<I, UdpCountersInner>> + TcpContext<I, BC> + StateContext<I, BC> + IcmpStateContext + IpLayerContext<I, BC> + NudContext<I, EthernetLinkDevice, BC> + IpDeviceConfigurationContext<I, BC> + IpDeviceConfigurationHandler<I, BC> + IpSocketContext<I, BC> + DeviceIdContext<AnyDevice, DeviceId = DeviceId<BC>, WeakDeviceId = WeakDeviceId<BC>> + DeviceIdContext<EthernetLinkDevice, DeviceId = EthernetDeviceId<BC>, WeakDeviceId = EthernetWeakDeviceId<BC>>,