void
onUpdate(String streamStatus, List updates, List columns, Map meta, DSError error)
Source
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));
}
} else if (_cachedColumns == null) {
_cachedColumns = getNodeColumns(node);
}
if (error != null) {
streamStatus = StreamStatus.closed;
_controller.add(
new RequesterInvokeUpdate(
null, null, null, streamStatus, error: error, meta: meta));
} else if (updates != null || meta != null || streamStatus != lastStatus) {
_controller.add(new RequesterInvokeUpdate(
updates, columns, _cachedColumns, streamStatus, meta: meta));
}
lastStatus = streamStatus;
if (streamStatus == StreamStatus.closed) {
_controller.close();
}
}