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);
}