⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

ArpMonitor

Struct ArpMonitor 

Source
pub struct ArpMonitor {
    pub interval_ms: u64,
    pub targets: Vec<[u8; 4]>,
    pub last_check: u64,
}
Expand description

ARP-based link health monitor

Fields§

§interval_ms: u64

Monitoring interval in milliseconds

§targets: Vec<[u8; 4]>

ARP probe target IP addresses

§last_check: u64

Timestamp of the last ARP probe (ms)

Implementations§

Source§

impl ArpMonitor

Source

pub fn new(interval_ms: u64) -> Self

Create a new ARP monitor with the given interval

Source

pub fn add_target(&mut self, ip: [u8; 4])

Add an ARP probe target IP address

Source

pub fn tick(&mut self, now: u64) -> bool

Check whether the monitoring interval has elapsed

Returns true if it is time to send ARP probes, and updates the internal timestamp.

Trait Implementations§

Source§

impl Clone for ArpMonitor

Source§

fn clone(&self) -> ArpMonitor

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ArpMonitor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for ArpMonitor

§

impl RefUnwindSafe for ArpMonitor

§

impl Send for ArpMonitor

§

impl Sync for ArpMonitor

§

impl Unpin for ArpMonitor

§

impl UnwindSafe for ArpMonitor

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.