serializePayload method

  1. @override
int serializePayload(
  1. PathControlState? message,
  2. ByteData byteData,
  3. int offset
)
override

Call to serialize only the payload, no header, returns a int with a serialized size

Implementation

@override
int serializePayload(
    imc.PathControlState? 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 lradius
  byteData.setFloat32(byteOffset, message.lradius, imc.endianSer);
  byteOffset += 4;
  // field flags
  byteData.setUint8(byteOffset, message.flags.value);
  byteOffset += 1;
  // field x
  byteData.setFloat32(byteOffset, message.x, imc.endianSer);
  byteOffset += 4;
  // field y
  byteData.setFloat32(byteOffset, message.y, imc.endianSer);
  byteOffset += 4;
  // field z
  byteData.setFloat32(byteOffset, message.z, imc.endianSer);
  byteOffset += 4;
  // field vx
  byteData.setFloat32(byteOffset, message.vx, imc.endianSer);
  byteOffset += 4;
  // field vy
  byteData.setFloat32(byteOffset, message.vy, imc.endianSer);
  byteOffset += 4;
  // field vz
  byteData.setFloat32(byteOffset, message.vz, imc.endianSer);
  byteOffset += 4;
  // field courseError
  byteData.setFloat32(byteOffset, message.courseError, imc.endianSer);
  byteOffset += 4;
  // field eta
  byteData.setUint16(byteOffset, message.eta, imc.endianSer);
  byteOffset += 2;

  return byteOffset - offset;
}