fn serialize()

in chrony-candm/src/common.rs [143:164]


    fn serialize<B: BufMut>(&self, buf: &mut B) {
        let (secs, nsecs) = match self.duration_since(UNIX_EPOCH) {
            Ok(d) => (d.as_secs() as i64, d.subsec_nanos()),
            Err(e) => {
                let d = e.duration();
                let secs = d.as_secs() as i64;
                let nsecs = d.subsec_nanos();
                if nsecs == 0 {
                    (-secs, 0)
                } else {
                    (-secs - 1, 1_000_000_000 - nsecs)
                }
            }
        };

        let secs_high = (secs >> 32) as i32;
        let secs_low = (secs & 0xffffffff) as u32;

        buf.put_i32(secs_high);
        buf.put_u32(secs_low);
        buf.put_u32(nsecs);
    }