Enum nippy::protocol::ReferenceIdentifier[][src]

#[repr(u32)]pub enum ReferenceIdentifier {
    PrimarySource(PrimarySource),
    SecondaryOrClient([u8; 4]),
    KissOfDeath(KissOfDeath),
}

A 32-bit code identifying the particular server or reference clock.

The interpretation depends on the value in the stratum field:

  • For packet stratum 0 (unspecified or invalid), this is a four-character ASCII [RFC1345] string, called the “kiss code”, used for debugging and monitoring purposes.
  • For stratum 1 (reference clock), this is a four-octet, left-justified, zero-padded ASCII string assigned to the reference clock.

The authoritative list of Reference Identifiers is maintained by IANA; however, any string beginning with the ASCII character “X” is reserved for unregistered experimentation and development.

Variants

PrimarySource(PrimarySource)
SecondaryOrClient([u8; 4])

The reference identifier of the secondary or client server. Can be used to detect timing loops.

If using the IPv4 address family, the identifier is the four-octet IPv4 address.

If using the IPv6 address family, it is the first four octets of the MD5 hash of the IPv6 address. Note that when using the IPv6 address family on a NTPv4 server with a NTPv3 client, the Reference Identifier field appears to be a random value and a timing loop might not be detected.

KissOfDeath(KissOfDeath)

Trait Implementations

impl Clone for ReferenceIdentifier[src]

impl ConstPackedSizeBytes for ReferenceIdentifier[src]

impl Copy for ReferenceIdentifier[src]

impl Debug for ReferenceIdentifier[src]

impl Eq for ReferenceIdentifier[src]

impl Hash for ReferenceIdentifier[src]

impl PartialEq<ReferenceIdentifier> for ReferenceIdentifier[src]

impl StructuralEq for ReferenceIdentifier[src]

impl StructuralPartialEq for ReferenceIdentifier[src]

impl WriteToBytes for ReferenceIdentifier[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
    Scheme: ApproxScheme
[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
    Scheme: ApproxScheme,
    Dst: ApproxFrom<Src, Scheme>, 
[src]

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, Dst> ConvAsUtil<Dst> for T[src]

impl<T> ConvUtil for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<Src> TryFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<Src, Dst> TryInto<Dst> for Src where
    Dst: TryFrom<Src>, 
[src]

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<Src> ValueFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Src, Dst> ValueInto<Dst> for Src where
    Dst: ValueFrom<Src>, 
[src]

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.