pub trait IpDeviceStateIpExt: BroadcastIpExt {
type AssignedAddressState<BT: IpDeviceStateBindingsTypes>: AssignedAddressState<Self::Addr> + Debug;
type GmpProtoState<BT: IpDeviceStateBindingsTypes>;
type GmpProtoConfig: Default;
type GmpTimerId<D: WeakDeviceIdentifier>: From<GmpTimerId<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 AssignedAddressState<BT: IpDeviceStateBindingsTypes>: AssignedAddressState<Self::Addr> + Debug
type AssignedAddressState<BT: IpDeviceStateBindingsTypes>: AssignedAddressState<Self::Addr> + Debug
Information stored about an IP address assigned to an interface.
Sourcetype GmpProtoState<BT: IpDeviceStateBindingsTypes>
type GmpProtoState<BT: IpDeviceStateBindingsTypes>
The GMP protocol-specific state.
Sourcetype GmpProtoConfig: Default
type GmpProtoConfig: Default
The GMP protocol-specific configuration.
Sourcetype GmpTimerId<D: WeakDeviceIdentifier>: From<GmpTimerId<Self, D>>
type GmpTimerId<D: WeakDeviceIdentifier>: From<GmpTimerId<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
.
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.