/// Handle an Ethernet timer firing.
Handle an Ethernet timer firing.
Handle an Ethernet timer firing .
pub(super) fn handle_timer<C: EthernetIpLinkDeviceContext>(
    ctx: &mut C,
    id: EthernetTimerId<C::DeviceId>,
) {
    match id {
        EthernetTimerId::Arp(id) => arp::handle_timer(ctx, id.into()),
        EthernetTimerId::Ndp(id) => <C as NdpHandler<EthernetLinkDevice>>::handle_timer(ctx, id),
        EthernetTimerId::Dad(DadTimerId { device_id, addr, _marker }) => {
            do_duplicate_address_detection(ctx, device_id, addr)
        }
    }
}
pub ( super ) fn handle_timer < C : EthernetIpLinkDeviceContext > ( ctx : & mut C , id : EthernetTimerId < C :: DeviceId > , ) { match id { EthernetTimerId :: Arp ( id ) => arp :: handle_timer ( ctx , id . into ( ) ) , EthernetTimerId :: Ndp ( id ) => < C as NdpHandler < EthernetLinkDevice > > :: handle_timer ( ctx , id ) , EthernetTimerId :: Dad ( DadTimerId { device_id , addr , _marker } ) => { do_duplicate_address_detection ( ctx , device_id , addr ) } } }
Handle an Ethernet timer firing.
Handle an Ethernet timer firing .
ctx
&mut C
id
EthernetTimerId<C::DeviceId>