serializePayload method
Call to serialize only the payload, no header, returns a int with a serialized size
Implementation
@override
int serializePayload(
imc.EntityMonitoringState? message, ByteData byteData, int offset) {
if (message == null) return 0;
var byteOffset = offset;
// field mcount
byteData.setUint8(byteOffset, message.mcount);
byteOffset += 1;
// field mnames
var mnamesEncoded = utf8.encode(message.mnames);
var mnamesSSize = mnamesEncoded.length;
byteData.setUint16(byteOffset, mnamesSSize, imc.endianSer);
byteOffset += 2;
for (var b in mnamesEncoded) {
byteData.setUint8(byteOffset++, b);
}
// field ecount
byteData.setUint8(byteOffset, message.ecount);
byteOffset += 1;
// field enames
var enamesEncoded = utf8.encode(message.enames);
var enamesSSize = enamesEncoded.length;
byteData.setUint16(byteOffset, enamesSSize, imc.endianSer);
byteOffset += 2;
for (var b in enamesEncoded) {
byteData.setUint8(byteOffset++, b);
}
// field ccount
byteData.setUint8(byteOffset, message.ccount);
byteOffset += 1;
// field cnames
var cnamesEncoded = utf8.encode(message.cnames);
var cnamesSSize = cnamesEncoded.length;
byteData.setUint16(byteOffset, cnamesSSize, imc.endianSer);
byteOffset += 2;
for (var b in cnamesEncoded) {
byteData.setUint8(byteOffset++, b);
}
// field lastError
var lastErrorEncoded = utf8.encode(message.lastError);
var lastErrorSSize = lastErrorEncoded.length;
byteData.setUint16(byteOffset, lastErrorSSize, imc.endianSer);
byteOffset += 2;
for (var b in lastErrorEncoded) {
byteData.setUint8(byteOffset++, b);
}
// field lastErrorTime
byteData.setFloat64(byteOffset, message.lastErrorTime, imc.endianSer);
byteOffset += 8;
return byteOffset - offset;
}