Enum statime::port::PortAction

source ·
pub enum PortAction<'a> {
    SendEvent {
        context: TimestampContext,
        data: &'a [u8],
        link_local: bool,
    },
    SendGeneral {
        data: &'a [u8],
        link_local: bool,
    },
    ResetAnnounceTimer {
        duration: Duration,
    },
    ResetSyncTimer {
        duration: Duration,
    },
    ResetDelayRequestTimer {
        duration: Duration,
    },
    ResetAnnounceReceiptTimer {
        duration: Duration,
    },
    ResetFilterUpdateTimer {
        duration: Duration,
    },
    ForwardTLV {
        tlv: ForwardedTLV<'a>,
    },
}
Expand description

An action the Port needs the user to perform

Variants§

§

SendEvent

Send a time-critical packet

Once the packet is sent and the transmit timestamp known the user should return the given TimestampContext using Port::handle_send_timestamp.

Packets marked as link local should be sent per the instructions for sending peer to peer delay mechanism messages of the relevant transport specification of PTP.

Fields

§data: &'a [u8]
§link_local: bool
§

SendGeneral

Send a general packet

For a packet sent this way no timestamp needs to be captured.

Packets marked as link local should be sent per the instructions for sending peer to peer delay mechanism messages of the relevant transport specification of PTP.

Fields

§data: &'a [u8]
§link_local: bool
§

ResetAnnounceTimer

Call Port::handle_announce_timer in duration from now

Fields

§duration: Duration
§

ResetSyncTimer

Call Port::handle_sync_timer in duration from now

Fields

§duration: Duration
§

ResetDelayRequestTimer

Call Port::handle_delay_request_timer in duration from now

Fields

§duration: Duration
§

ResetAnnounceReceiptTimer

Call Port::handle_announce_receipt_timer in duration from now

Fields

§duration: Duration
§

ResetFilterUpdateTimer

Call Port::handle_filter_update_timer in duration from now

Fields

§duration: Duration
§

ForwardTLV

Forward this TLV to the announce timer call of all other ports. The receiver must ensure the TLV is yielded only once to the announce method of a port.

This can be ignored when implementing a single port or slave only ptp instance.

Fields

Trait Implementations§

source§

impl<'a> Debug for PortAction<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PortAction<'a>

§

impl<'a> RefUnwindSafe for PortAction<'a>

§

impl<'a> Send for PortAction<'a>

§

impl<'a> Sync for PortAction<'a>

§

impl<'a> Unpin for PortAction<'a>

§

impl<'a> UnwindSafe for PortAction<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

source§

fn lossy_into(self) -> Dst

Performs the conversion.
source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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.
source§

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

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.