deserializePayload method

  1. @override
int deserializePayload(
  1. EntityMonitoringStateBuilder builder,
  2. ByteData byteData,
  3. Endian endianness,
  4. int offset,
)
override

Call to deserialize only the payload, no header. The Builder is to allow passing the message to build into. returns a int with a serialized size

Implementation

@override
int deserializePayload(imc.EntityMonitoringStateBuilder builder,
    ByteData byteData, Endian endianness, int offset) {
  var byteOffset = offset;

  // field mcount
  builder.mcount = byteData.getUint8(byteOffset);
  byteOffset += 1;
  // field mnames
  var mnamesSSize = byteData.getUint16(byteOffset, endianness);
  byteOffset += 2;
  var mnamesDData = List.filled(mnamesSSize, 0);
  for (var i = 0; i < mnamesSSize; i++) {
    mnamesDData[i] = byteData.getUint8(byteOffset++);
  }
  var mnamesDecoded = utf8.decode(mnamesDData);
  builder.mnames = mnamesDecoded;
  // field ecount
  builder.ecount = byteData.getUint8(byteOffset);
  byteOffset += 1;
  // field enames
  var enamesSSize = byteData.getUint16(byteOffset, endianness);
  byteOffset += 2;
  var enamesDData = List.filled(enamesSSize, 0);
  for (var i = 0; i < enamesSSize; i++) {
    enamesDData[i] = byteData.getUint8(byteOffset++);
  }
  var enamesDecoded = utf8.decode(enamesDData);
  builder.enames = enamesDecoded;
  // field ccount
  builder.ccount = byteData.getUint8(byteOffset);
  byteOffset += 1;
  // field cnames
  var cnamesSSize = byteData.getUint16(byteOffset, endianness);
  byteOffset += 2;
  var cnamesDData = List.filled(cnamesSSize, 0);
  for (var i = 0; i < cnamesSSize; i++) {
    cnamesDData[i] = byteData.getUint8(byteOffset++);
  }
  var cnamesDecoded = utf8.decode(cnamesDData);
  builder.cnames = cnamesDecoded;
  // field lastError
  var lastErrorSSize = byteData.getUint16(byteOffset, endianness);
  byteOffset += 2;
  var lastErrorDData = List.filled(lastErrorSSize, 0);
  for (var i = 0; i < lastErrorSSize; i++) {
    lastErrorDData[i] = byteData.getUint8(byteOffset++);
  }
  var lastErrorDecoded = utf8.decode(lastErrorDData);
  builder.lastError = lastErrorDecoded;
  // field lastErrorTime
  builder.lastErrorTime = byteData.getFloat64(byteOffset, endianness);
  byteOffset += 8;

  return byteOffset - offset;
}