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§
sourcetype AssignedAddress<BT: IpDeviceStateBindingsTypes>: AssignedAddress<Self::Addr> + Debug
type AssignedAddress<BT: IpDeviceStateBindingsTypes>: AssignedAddress<Self::Addr> + Debug
The information stored about an IP address assigned to an interface.
sourcetype GmpGroupState<I: Instant>
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).
sourcetype GmpProtoState<BT: IpDeviceStateBindingsTypes>
type GmpProtoState<BT: IpDeviceStateBindingsTypes>
The GMP protocol-specific state.
sourcetype GmpTimerId<D: WeakDeviceIdentifier>: From<GmpDelayedReportTimerId<Self, D>>
type GmpTimerId<D: WeakDeviceIdentifier>: From<GmpDelayedReportTimerId<Self, D>>
The timer id for GMP timers.
Required Methods§
sourcefn new_gmp_state<D: WeakDeviceIdentifier, CC: CoreTimerContext<Self::GmpTimerId<D>, BC>, BC: IpDeviceStateBindingsTypes + TimerContext>(
bindings_ctx: &mut BC,
device_id: D,
) -> Self::GmpProtoState<BC>
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.