serializePayload method

  1. @override
int serializePayload(
  1. FormationPlanExecution? 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.FormationPlanExecution? message, ByteData byteData, int offset) {
  if (message == null) return 0;

  var byteOffset = offset;

  // field groupName
  var groupNameEncoded = utf8.encode(message.groupName);
  var groupNameSSize = groupNameEncoded.length;
  byteData.setUint16(byteOffset, groupNameSSize, imc.endianSer);
  byteOffset += 2;
  for (var b in groupNameEncoded) {
    byteData.setUint8(byteOffset++, b);
  }
  // field formationName
  var formationNameEncoded = utf8.encode(message.formationName);
  var formationNameSSize = formationNameEncoded.length;
  byteData.setUint16(byteOffset, formationNameSSize, imc.endianSer);
  byteOffset += 2;
  for (var b in formationNameEncoded) {
    byteData.setUint8(byteOffset++, b);
  }
  // field planId
  var planIdEncoded = utf8.encode(message.planId);
  var planIdSSize = planIdEncoded.length;
  byteData.setUint16(byteOffset, planIdSSize, imc.endianSer);
  byteOffset += 2;
  for (var b in planIdEncoded) {
    byteData.setUint8(byteOffset++, b);
  }
  // field description
  var descriptionEncoded = utf8.encode(message.description);
  var descriptionSSize = descriptionEncoded.length;
  byteData.setUint16(byteOffset, descriptionSSize, imc.endianSer);
  byteOffset += 2;
  for (var b in descriptionEncoded) {
    byteData.setUint8(byteOffset++, b);
  }
  // field leaderSpeed
  byteData.setFloat32(byteOffset, message.leaderSpeed, imc.endianSer);
  byteOffset += 4;
  // field leaderBankLim
  byteData.setFloat32(byteOffset, message.leaderBankLim, imc.endianSer);
  byteOffset += 4;
  // field posSimErrLim
  byteData.setFloat32(byteOffset, message.posSimErrLim, imc.endianSer);
  byteOffset += 4;
  // field posSimErrWrn
  byteData.setFloat32(byteOffset, message.posSimErrWrn, imc.endianSer);
  byteOffset += 4;
  // field posSimErrTimeout
  byteData.setUint16(byteOffset, message.posSimErrTimeout, imc.endianSer);
  byteOffset += 2;
  // field convergMax
  byteData.setFloat32(byteOffset, message.convergMax, imc.endianSer);
  byteOffset += 4;
  // field convergTimeout
  byteData.setUint16(byteOffset, message.convergTimeout, imc.endianSer);
  byteOffset += 2;
  // field commsTimeout
  byteData.setUint16(byteOffset, message.commsTimeout, imc.endianSer);
  byteOffset += 2;
  // field turbLim
  byteData.setFloat32(byteOffset, message.turbLim, imc.endianSer);
  byteOffset += 4;
  // field custom
  var customEncoded = utf8.encode(message.custom);
  var customSSize = customEncoded.length;
  byteData.setUint16(byteOffset, customSSize, imc.endianSer);
  byteOffset += 2;
  for (var b in customEncoded) {
    byteData.setUint8(byteOffset++, b);
  }

  return byteOffset - offset;
}