process method
Implementation
List process(int waitingAckId) {
var rslts = <dynamic>[];
if (_caching && _isCacheValid) {
for (var lastValue in lastValues) {
rslts.add([sid, lastValue.value, lastValue.ts]);
}
if (_qosLevel > 0) {
for (var update in lastValues) {
update.waitingAck = waitingAckId;
}
}
lastValues.length = 0;
} else {
if (lastValue!.count > 1 || lastValue?.status != null) {
var m = lastValue?.toMap();
m?['sid'] = sid;
rslts.add(m);
} else {
rslts.add([sid, lastValue?.value, lastValue?.ts]);
}
if (_qosLevel > 0) {
lastValue?.waitingAck = waitingAckId;
}
_isCacheValid = true;
}
lastValue = null;
return rslts;
}