#[non_exhaustive]pub enum KissOfDeathCode {
}Expand description
Kiss-o’-Death code received from an NTP server (RFC 5905 §7.4).
When a server sends a packet with stratum 0, the Reference Identifier field carries a 4-character ASCII kiss code. Different codes require different client actions:
DenyandRstr: callers MUST stop using that server.Rate: callers SHOULD back off / reduce their polling interval.Experimental: codes beginning with ‘X’ are for unregistered experimentation and should be ignored if unrecognized by the caller.KoDpackets carry server-supplied timestamps, but callers MUST NOT rely on them as normal time results.- All other codes: No protocol significance; discard after inspection.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Acst
ACST: The association belongs to a unicast server
Auth
AUTH: Server authentication failed
Auto
AUTO: Autokey sequence failed
Bcst
BCST: The association belongs to a broadcast server
Cryp
CRYP: Cryptographic authentication or identification failed
Deny
DENY: Access denied by remote server
Drop
DROP: Lost peer in symmetric mode
Rstr
RSTR: Access denied due to local policy
Init
INIT: The association has not yet synchronized for the first time
Mcst
MCST: The association belongs to a dynamically discovered server
Nkey
NKEY: No key found
Rate
RATE: Rate exceeded — client MUST reduce a polling interval
Rmot
RMOT: Alteration of association from a remote host
Step
STEP: A step change in system time has occurred
Experimental([u8; 4])
Experimental/unregistered code (the first byte is ‘X’ per RFC 5905 §7.4)
Implementations§
Source§impl KissOfDeathCode
impl KissOfDeathCode
Sourcepub fn as_str(&self) -> &str
pub fn as_str(&self) -> &str
Returns the 4-character ASCII string representation of the kiss code.
For known variants, the standard code string (e.g., "DENY", "RATE") is returned.
For Experimental codes, the raw bytes are interpreted as UTF-8; if not valid UTF-8,
an empty string ("") is returned.
Trait Implementations§
Source§impl Clone for KissOfDeathCode
impl Clone for KissOfDeathCode
Source§fn clone(&self) -> KissOfDeathCode
fn clone(&self) -> KissOfDeathCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for KissOfDeathCode
Source§impl Debug for KissOfDeathCode
impl Debug for KissOfDeathCode
impl Eq for KissOfDeathCode
Source§impl PartialEq for KissOfDeathCode
impl PartialEq for KissOfDeathCode
Source§fn eq(&self, other: &KissOfDeathCode) -> bool
fn eq(&self, other: &KissOfDeathCode) -> bool
self and other values to be equal, and is used by ==.