deserializePayload method
int
deserializePayload(
- EntityMonitoringStateBuilder builder,
- ByteData byteData,
- Endian endianness,
- 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;
}