serializePayload method
Call to serialize only the payload, no header, returns a int with a serialized size
Implementation
@override
int serializePayload(
imc.DesiredPath? message, ByteData byteData, int offset) {
if (message == null) return 0;
var byteOffset = offset;
// field pathRef
byteData.setUint32(byteOffset, message.pathRef, imc.endianSer);
byteOffset += 4;
// field startLat
byteData.setFloat64(byteOffset, message.startLat, imc.endianSer);
byteOffset += 8;
// field startLon
byteData.setFloat64(byteOffset, message.startLon, imc.endianSer);
byteOffset += 8;
// field startZ
byteData.setFloat32(byteOffset, message.startZ, imc.endianSer);
byteOffset += 4;
// field startZUnits
byteData.setUint8(byteOffset, message.startZUnits.value);
byteOffset += 1;
// field endLat
byteData.setFloat64(byteOffset, message.endLat, imc.endianSer);
byteOffset += 8;
// field endLon
byteData.setFloat64(byteOffset, message.endLon, imc.endianSer);
byteOffset += 8;
// field endZ
byteData.setFloat32(byteOffset, message.endZ, imc.endianSer);
byteOffset += 4;
// field endZUnits
byteData.setUint8(byteOffset, message.endZUnits.value);
byteOffset += 1;
// field speed
byteData.setFloat32(byteOffset, message.speed, imc.endianSer);
byteOffset += 4;
// field speedUnits
byteData.setUint8(byteOffset, message.speedUnits.value);
byteOffset += 1;
// field lradius
byteData.setFloat32(byteOffset, message.lradius, imc.endianSer);
byteOffset += 4;
// field flags
byteData.setUint8(byteOffset, message.flags.value);
byteOffset += 1;
return byteOffset - offset;
}