TxPriority

Enum TxPriority 

Source
pub enum TxPriority {
    ImmediateAck,
    Forward,
    Retry,
    Application,
}
Expand description

Priority class assigned to entries in the TxQueue.

The transmit queue services entries in priority order (lowest rank first) so that time-sensitive control traffic is never delayed by a backlog of application sends. Within the same priority class, entries are served in FIFO order by sequence number.

Priority levels from highest to lowest:

  • ImmediateAck (rank 0) — MAC ACK frames generated in response to a received unicast or blind-unicast with ACK-requested. Must be sent as quickly as possible so the original sender’s retransmit timer does not expire.
  • Forward (rank 1) — frames being forwarded by the repeater. Prompt forwarding feeds the sender’s forwarding-confirmation window, so delays here can trigger unnecessary retransmissions at the source.
  • Retry (rank 2) — retransmissions of unacknowledged ACK-requested sends. These have already been delayed by a full forwarding-confirmation window and need to get out before the final ACK deadline expires.
  • Application (rank 3) — new application-originated frames (queue_broadcast, queue_unicast, queue_multicast, etc.). Lowest priority; yields to all control traffic.

Variants§

§

ImmediateAck

Immediate transport ACK.

§

Forward

Receive-triggered forwarding.

§

Retry

Retransmission after missed confirmation.

§

Application

Application-originated send.

Trait Implementations§

Source§

impl Clone for TxPriority

Source§

fn clone(&self) -> TxPriority

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 TxPriority

Source§

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

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

impl PartialEq for TxPriority

Source§

fn eq(&self, other: &TxPriority) -> 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 TxPriority

Source§

impl Eq for TxPriority

Source§

impl StructuralPartialEq for TxPriority

Auto Trait Implementations§

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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.