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

LsaHeader

Struct LsaHeader 

Source
pub struct LsaHeader {
    pub ls_age: u16,
    pub options: u8,
    pub ls_type: LsaType,
    pub link_state_id: u32,
    pub advertising_router: u32,
    pub seq_number: u32,
    pub checksum: u16,
    pub length: u16,
}
Expand description

LSA header (20 bytes)

Fields§

§ls_age: u16

Age of the LSA in ticks

§options: u8

Options field

§ls_type: LsaType

LSA type

§link_state_id: u32

Link State ID

§advertising_router: u32

Advertising router ID

§seq_number: u32

Sequence number (for versioning)

§checksum: u16

Checksum

§length: u16

Total length of LSA including header

Implementations§

Source§

impl LsaHeader

Source

pub fn new( ls_type: LsaType, link_state_id: u32, advertising_router: u32, ) -> Self

Create a new LSA header

Source

pub fn is_newer_than(&self, other: &Self) -> bool

Check if this LSA is newer than another

Trait Implementations§

Source§

impl Clone for LsaHeader

Source§

fn clone(&self) -> LsaHeader

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 LsaHeader

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LsaHeader

Source§

fn eq(&self, other: &LsaHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for LsaHeader

Source§

impl Eq for LsaHeader

Source§

impl StructuralPartialEq for LsaHeader

Auto Trait Implementations§

§

impl Freeze for LsaHeader

§

impl RefUnwindSafe for LsaHeader

§

impl Send for LsaHeader

§

impl Sync for LsaHeader

§

impl Unpin for LsaHeader

§

impl UnwindSafe for LsaHeader

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.