in chrony-candm/src/common.rs [191:206]
fn body_length(&self) -> usize;
fn cmd(&self) -> u16;
fn serialize_body<B: BufMut>(&self, buf: &mut B);
fn deserialize_body<B: Buf>(cmd: u16, body: &mut B) -> Result<Self, DeserializationError>;
}
/// Floating point number as used in Chrony's wire protocol
///
/// A `ChronyFloat` can be converted infallibly to and from an `f64`,
/// but the conversion into `ChronyFloat` is lossy and sometimes
/// nonsensical, e.g., NaNs are represented as 0. These conversion
/// rules are identical to the ones that Chrony uses internally.
#[derive(Copy, Clone, Eq, PartialEq, Hash, Default)]
pub struct ChronyFloat(u32);
impl Debug for ChronyFloat {