netstack3_ip::device

Trait SlaacContext

Source
pub trait SlaacContext<BC: SlaacBindingsContext<Self::DeviceId>>: DeviceIdContext<AnyDevice> {
    type SlaacAddrs<'a>: SlaacAddresses<BC> + CounterContext<SlaacCounters> + 'a;

    // Required method
    fn with_slaac_addrs_mut_and_configs<O, F: FnOnce(SlaacAddrsMutAndConfig<'_, BC, Self::SlaacAddrs<'_>>, &mut SlaacState<BC>) -> O>(
        &mut self,
        device_id: &Self::DeviceId,
        cb: F,
    ) -> O;

    // Provided method
    fn with_slaac_addrs_mut<O, F: FnOnce(&mut Self::SlaacAddrs<'_>, &mut SlaacState<BC>) -> O>(
        &mut self,
        device_id: &Self::DeviceId,
        cb: F,
    ) -> O { ... }
}
Expand description

The execution context for SLAAC.

Required Associated Types§

Required Methods§

Source

fn with_slaac_addrs_mut_and_configs<O, F: FnOnce(SlaacAddrsMutAndConfig<'_, BC, Self::SlaacAddrs<'_>>, &mut SlaacState<BC>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O

Calls cb with access to the SLAAC addresses and configuration for device_id.

Provided Methods§

Source

fn with_slaac_addrs_mut<O, F: FnOnce(&mut Self::SlaacAddrs<'_>, &mut SlaacState<BC>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O

Calls cb with access to the SLAAC addresses for device_id.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§