serializeHeader function
Implementation
int serializeHeader(ImcMessage message, ByteData byteData) {
var byteOffset = 0;
byteData.setUint16(byteOffset, message.sync, endianSer);
byteOffset += 2;
byteData.setUint16(byteOffset, message.msgId, endianSer);
byteOffset += 2;
byteData.setUint16(byteOffset, 0, endianSer); // Temp size
byteOffset += 2;
if (message.timestamp == null) {
// This should not be null, but may happened due to the constructor default value
print('Timestamp null found for message ${message.abbrev}');
}
byteData.setFloat64(
byteOffset,
(message.timestamp ?? DateTime.now()).millisecondsSinceEpoch / 1E3,
endianSer);
byteOffset += 8;
byteData.setUint16(byteOffset, message.src, endianSer);
byteOffset += 2;
byteData.setUint8(byteOffset, message.srcEnt);
byteOffset += 1;
byteData.setUint16(byteOffset, message.dst, endianSer);
byteOffset += 2;
byteData.setUint8(byteOffset, message.dstEnt);
byteOffset += 1;
return byteOffset;
}