mirror of
https://github.com/soypat/lneto.git
synced 2026-09-10 00:29:34 +00:00
restructure package, rename module/repo
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package ntp
|
||||
|
||||
// LeapIndicator represents the leap second indicator.
|
||||
// It indicates whether there is no warning, an extra second (61 seconds in the last minute),
|
||||
// or a missing second (59 seconds in the last minute).
|
||||
type LeapIndicator uint8
|
||||
|
||||
const (
|
||||
LeapNoWarning LeapIndicator = iota // no warning
|
||||
LeapLastMinute61 // last minute 61
|
||||
LeapLastMinute59 // last minute 59
|
||||
)
|
||||
|
||||
// Stratum represents the stratum level of the NTP server.
|
||||
type Stratum uint8
|
||||
|
||||
const (
|
||||
// If the Stratum field is 0, which implies unspecified or invalid, the
|
||||
// Reference Identifier field can be used to convey messages useful for
|
||||
// status reporting and access control. These are called Kiss-o'-Death
|
||||
// (KoD) packets and the ASCII messages they convey are called kiss codes.
|
||||
StratumUnspecified Stratum = 0 // unspecified
|
||||
StratumPrimary Stratum = 1 // primary
|
||||
StratumUnsync Stratum = 16 // unsynchronized
|
||||
)
|
||||
|
||||
// String returns a human readable representation of the Stratum.
|
||||
func (s Stratum) String() string {
|
||||
switch s {
|
||||
case 0:
|
||||
return "unspecified"
|
||||
case 1:
|
||||
return "primary"
|
||||
case 16:
|
||||
return "unsynchronized"
|
||||
}
|
||||
if s < 16 {
|
||||
return "secondary"
|
||||
}
|
||||
return "invalid"
|
||||
}
|
||||
|
||||
func (s Stratum) IsSecondary() bool {
|
||||
return s > 1 && s < 16
|
||||
}
|
||||
|
||||
// Mode represents the mode of the NTP message.
|
||||
// It can be undefined, symmetric active, symmetric passive, client, server, broadcast,
|
||||
// NTP control message, or private use.
|
||||
type Mode uint8
|
||||
|
||||
const (
|
||||
modeUndef Mode = iota // undefined
|
||||
ModeSymmetricActive // symmetric active
|
||||
ModeSymmetricPassive // symmetric passive
|
||||
ModeClient // client
|
||||
ModeServer // server
|
||||
ModeBroadcast // broadcast
|
||||
ModeNTPControlMessage // control message
|
||||
ModePrivateUse // private use
|
||||
)
|
||||
Reference in New Issue
Block a user