onUpdate method
void
onUpdate()
override
Implementation
@override
void onUpdate(String streamStatus, List? updates, List? columns, Map? meta,
DSError? error) {
if (meta != null && meta['mode'] is String) {
mode = meta['mode'];
}
// TODO: implement error
if (columns != null) {
if (_cachedColumns == null || mode == 'refresh') {
_cachedColumns = TableColumn.parseColumns(columns);
} else {
_cachedColumns?.addAll(
TableColumn.parseColumns(columns) as Iterable<TableColumn>);
}
} else
_cachedColumns ??= getNodeColumns(node);
if (error != null) {
streamStatus = StreamStatus.closed;
_controller.add(RequesterInvokeUpdate(null, null, null, streamStatus,
error: error, meta: meta));
} else if (updates != null || meta != null || streamStatus != lastStatus) {
_controller.add(RequesterInvokeUpdate(
updates, columns, _cachedColumns, streamStatus,
meta: meta));
}
lastStatus = streamStatus;
if (streamStatus == StreamStatus.closed) {
_controller.close();
}
}