pub struct SendProgressTicket { /* private fields */ }Expand description
Lightweight handle for observing the progress of an in-flight send.
The dispatcher updates the internal TicketState synchronously from the MAC
event callback. The application queries progress at its own pace via polling
methods (was_transmitted, was_acked, is_finished, etc.).
Dropping the ticket unregisters it from the dispatcher (via Weak reference
invalidation). The MAC continues the in-flight send — dropping only stops
observation, not the send itself.
Implementations§
Source§impl SendProgressTicket
impl SendProgressTicket
Sourcepub fn token(&self) -> Option<SendToken>
pub fn token(&self) -> Option<SendToken>
The identity-scoped send token, if this is an ACK-tracked send.
Sourcepub fn receipt(&self) -> Option<SendReceipt>
pub fn receipt(&self) -> Option<SendReceipt>
The underlying receipt, if this is an ACK-tracked send.
Sourcepub fn was_transmitted(&self) -> bool
pub fn was_transmitted(&self) -> bool
True after the frame was handed to the radio at least once.
For all send types, this reflects actual radio transmission: it
becomes true when the MAC fires the Transmitted event for this
ticket’s receipt.
Sourcepub fn was_repeated(&self) -> bool
pub fn was_repeated(&self) -> bool
True after a repeater was overheard forwarding this frame.
Sourcepub fn has_failed(&self) -> bool
pub fn has_failed(&self) -> bool
True when the ACK timed out — all retransmits exhausted without ACK.
Sourcepub fn is_finished(&self) -> bool
pub fn is_finished(&self) -> bool
True when the MAC is completely done — no more retransmissions, no more events will fire for this ticket.
For non-ACK sends (broadcast/multicast), this becomes true
immediately after the first radio transmission. For ACK-tracked
sends, this becomes true after an ACK is received or all
retransmits are exhausted.