pendingItem property

OutgoingMessage? get pendingItem

Implementation

OutgoingMessage? get pendingItem {
  if (_data.isEmpty) return null;
  final p = _data.keys
      .where((element) =>
          !_sent.contains(element) &&
          !_dropped.contains(element) &&
          !_pending.contains(element) &&
          !_pendingTried.contains(element))
      .toList();
  if (p.isEmpty) return null;
  p.sort(); //latest tim wins

  _pendingTried.add(p.first);
  return _data[p.first];
}