Trait IpDeviceIpExt

Source
pub trait IpDeviceIpExt:
    IpDeviceStateIpExt
    + AssignedAddrIpExt
    + IpExt
    + DadIpExt {
    type State<BT: IpDeviceStateBindingsTypes>: AsRef<IpDeviceState<Self, BT>> + AsMut<IpDeviceState<Self, BT>>;
    type Configuration: AsRef<IpDeviceConfiguration> + AsMut<IpDeviceConfiguration> + Clone + Debug + Eq + PartialEq;
    type Timer<D: WeakDeviceIdentifier, BT: IpDeviceStateBindingsTypes>: Into<IpDeviceTimerId<Self, D, BT>> + From<IpDeviceTimerId<Self, D, BT>> + Clone + Eq + PartialEq + Debug + Hash;
    type ManualAddressConfig<I: Instant>: Default + Debug + Into<Self::AddressConfig<I>>;
    type ConfigurationUpdate: From<IpDeviceConfigurationUpdate> + AsRef<IpDeviceConfigurationUpdate> + Debug;

    // Required methods
    fn get_common_props<I: Instant>(
        config: &Self::AddressConfig<I>,
    ) -> CommonAddressProperties<I>;
    fn timer_device_id<D: WeakDeviceIdentifier, BT: IpDeviceStateBindingsTypes>(
        timer: &Self::Timer<D, BT>,
    ) -> Option<D::Strong>;
}
Expand description

An extension trait adding IP device properties.

Required Associated Types§

Source

type State<BT: IpDeviceStateBindingsTypes>: AsRef<IpDeviceState<Self, BT>> + AsMut<IpDeviceState<Self, BT>>

IP layer state kept by the device.

Source

type Configuration: AsRef<IpDeviceConfiguration> + AsMut<IpDeviceConfiguration> + Clone + Debug + Eq + PartialEq

IP layer configuration kept by the device.

Source

type Timer<D: WeakDeviceIdentifier, BT: IpDeviceStateBindingsTypes>: Into<IpDeviceTimerId<Self, D, BT>> + From<IpDeviceTimerId<Self, D, BT>> + Clone + Eq + PartialEq + Debug + Hash

High level IP device timer.

Source

type ManualAddressConfig<I: Instant>: Default + Debug + Into<Self::AddressConfig<I>>

Manual device address configuration (user-initiated).

Source

type ConfigurationUpdate: From<IpDeviceConfigurationUpdate> + AsRef<IpDeviceConfigurationUpdate> + Debug

Device configuration update request.

Required Methods§

Source

fn get_common_props<I: Instant>( config: &Self::AddressConfig<I>, ) -> CommonAddressProperties<I>

Gets the common properties of an address from its configuration.

Source

fn timer_device_id<D: WeakDeviceIdentifier, BT: IpDeviceStateBindingsTypes>( timer: &Self::Timer<D, BT>, ) -> Option<D::Strong>

Extracts the device ID from a device timer.

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.

Implementations on Foreign Types§

Source§

impl IpDeviceIpExt for Ipv4

Source§

impl IpDeviceIpExt for Ipv6

Implementors§