pub trait MulticastRouteTableContext<I: IpLayerIpExt, BT: MulticastForwardingBindingsTypes>: DeviceIdContext<AnyDevice> {
    type Ctx<'a>: MulticastForwardingPendingPacketsContext<I, BT, DeviceId = Self::DeviceId, WeakDeviceId = Self::WeakDeviceId> + CounterContext<MulticastForwardingCounters<I>>;

    // Required methods
    fn with_route_table<O, F: FnOnce(&MulticastRouteTable<I, Self::DeviceId, BT>, &mut Self::Ctx<'_>) -> O>(
        &mut self,
        state: &MulticastForwardingEnabledState<I, Self::DeviceId, BT>,
        cb: F,
    ) -> O;
    fn with_route_table_mut<O, F: FnOnce(&mut MulticastRouteTable<I, Self::DeviceId, BT>, &mut Self::Ctx<'_>) -> O>(
        &mut self,
        state: &MulticastForwardingEnabledState<I, Self::DeviceId, BT>,
        cb: F,
    ) -> O;
}
Expand description

A trait providing access to MulticastRouteTable.

Required Associated Types§

source

type Ctx<'a>: MulticastForwardingPendingPacketsContext<I, BT, DeviceId = Self::DeviceId, WeakDeviceId = Self::WeakDeviceId> + CounterContext<MulticastForwardingCounters<I>>

The context available after locking the multicast route table.

Required Methods§

source

fn with_route_table<O, F: FnOnce(&MulticastRouteTable<I, Self::DeviceId, BT>, &mut Self::Ctx<'_>) -> O>( &mut self, state: &MulticastForwardingEnabledState<I, Self::DeviceId, BT>, cb: F, ) -> O

Provides immutable access to the route table.

source

fn with_route_table_mut<O, F: FnOnce(&mut MulticastRouteTable<I, Self::DeviceId, BT>, &mut Self::Ctx<'_>) -> O>( &mut self, state: &MulticastForwardingEnabledState<I, Self::DeviceId, BT>, cb: F, ) -> O

Provides mutable access to the route table.

Object Safety§

This trait is not object safe.

Implementors§