onEvents method

  1. @override
void onEvents(
  1. StateEvents events
)
override

Implementation

@override
void onEvents(StateEvents events) {
  final start = DateTime.now();
  if(events.isNotEmpty) {
    _recordCount += events.length;
    if(_shouldCompact()) {
      compact();
      _log.debug(() => 'batch w/compact executed in: ${DateTime.now().millisecondsSinceEpoch - start.millisecondsSinceEpoch} ms');
    } else {
      _worker?.putData(update: [
        ...events.created(this).map((e) => e.value).map(converter.encodePut),
        ...events.updated(this).map((e) => e.value).map(converter.encodePut),
        ...events.removed(this).map((e) => e.value).map(converter.encodeRemove),
      ]);
      _log.debug(() => 'batch w/out compact executed in: ${DateTime.now().millisecondsSinceEpoch - start.millisecondsSinceEpoch} ms');
      _log.trace(() => '  ops: $events');
    }
  }

  _log.debug(() => 'batch executed in: ${DateTime.now().millisecondsSinceEpoch - start.millisecondsSinceEpoch} ms');
}