Trait netstack3_ip::device::IpDeviceStateIpExt

source ·
pub trait IpDeviceStateIpExt: BroadcastIpExt {
    type AssignedAddress<BT: IpDeviceStateBindingsTypes>: AssignedAddress<Self::Addr> + Debug;
    type GmpGroupState<I: Instant>;
    type GmpProtoState<BT: IpDeviceStateBindingsTypes>;
    type GmpTimerId<D: WeakDeviceIdentifier>: From<GmpDelayedReportTimerId<Self, D>>;

    // Required method
    fn new_gmp_state<D: WeakDeviceIdentifier, CC: CoreTimerContext<Self::GmpTimerId<D>, BC>, BC: IpDeviceStateBindingsTypes + TimerContext>(
        bindings_ctx: &mut BC,
        device_id: D,
    ) -> Self::GmpProtoState<BC>;
}
Expand description

An Ip extension trait adding IP device state properties.

Required Associated Types§

source

type AssignedAddress<BT: IpDeviceStateBindingsTypes>: AssignedAddress<Self::Addr> + Debug

The information stored about an IP address assigned to an interface.

source

type GmpGroupState<I: Instant>

The per-group state kept by the Group Messaging Protocol (GMP) used to announce membership in an IP multicast group for this version of IP.

Note that a GMP is only used when membership must be explicitly announced. For example, a GMP is not used in the context of a loopback device (because there are no remote hosts) or in the context of an IPsec device (because multicast is not supported).

source

type GmpProtoState<BT: IpDeviceStateBindingsTypes>

The GMP protocol-specific state.

source

type GmpTimerId<D: WeakDeviceIdentifier>: From<GmpDelayedReportTimerId<Self, D>>

The timer id for GMP timers.

Required Methods§

source

fn new_gmp_state<D: WeakDeviceIdentifier, CC: CoreTimerContext<Self::GmpTimerId<D>, BC>, BC: IpDeviceStateBindingsTypes + TimerContext>( bindings_ctx: &mut BC, device_id: D, ) -> Self::GmpProtoState<BC>

Creates a new Self::GmpProtoState.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl IpDeviceStateIpExt for Ipv4

source§

impl IpDeviceStateIpExt for Ipv6

Implementors§