writeNtpTimestamp static method
Writes an NTP 64-bit timestamp into data starting at offset using
pure 64-bit integer arithmetic.
Implementation
static void writeNtpTimestamp(ByteData data, int offset, DateTime time) {
final microsSinceUnix = time.toUtc().microsecondsSinceEpoch;
final secondsSinceUnix = microsSinceUnix ~/ 1000000;
final microsRemainder = microsSinceUnix % 1000000;
final ntpSeconds = (secondsSinceUnix + _ntpEpochOffset) & 0xFFFFFFFF;
final fractional =
(((microsRemainder * 0x100000000) + 500000) ~/ 1000000) & 0xFFFFFFFF;
data.setUint32(offset, ntpSeconds);
data.setUint32(offset + 4, fractional);
}