onData method
- IsolatePayload data,
- Object id
override
A callback that runs when data is sent by a child.
Implementation
@override
void onData(IsolatePayload data, Object id) {
switch (data) {
case DetailsPayload():
collection.videoServer.sendMessage(VideoData(details: data.details));
case FramePayload():
final frame = data.frame;
collection.videoServer.sendMessage(VideoData(frame: frame.data, details: data.details));
frame.dispose();
case DepthFramePayload():
collection.videoServer.sendDepthFrame(VideoData(frame: data.frame.depthFrame));
data.dispose();
case LogPayload(): switch (data.level) {
// Turns out using deprecated members when you *have* to still results in a lint.
// See https://github.com/dart-lang/linter/issues/4852 for why we ignore it.
case LogLevel.all: logger.info(data.message);
// ignore: deprecated_member_use
case LogLevel.verbose: logger.trace(data.message);
case LogLevel.trace: logger.trace(data.message);
case LogLevel.debug: logger.debug(data.message);
case LogLevel.info: logger.info(data.message);
case LogLevel.warning: logger.warning(data.message);
case LogLevel.error: logger.error(data.message);
// ignore: deprecated_member_use
case LogLevel.wtf: logger.info(data.message);
case LogLevel.fatal: logger.critical(data.message);
// ignore: deprecated_member_use
case LogLevel.nothing: logger.info(data.message);
case LogLevel.off: logger.info(data.message);
}
}
}