dequeueAll method

List<EventRow> dequeueAll()

Get all events as EventRow list, ordered by priority then timestamp.

Implementation

List<EventRow> dequeueAll() {
  final sorted = List<_MemoryEntry>.from(_queue);
  sorted.sort((a, b) {
    final aPri = _priorityOrder(a.eventName);
    final bPri = _priorityOrder(b.eventName);
    if (aPri != bPri) return aPri.compareTo(bPri);
    return a.tsMillis.compareTo(b.tsMillis);
  });
  return sorted
      .map((e) => EventRow(
            id: e.seq,
            tsMillis: e.tsMillis,
            eventName: e.eventName,
            payloadJson: e.payloadJson,
          ))
      .toList();
}