processDelMessages method

void processDelMessages(
  1. int clear,
  2. List<DeleteTransactionRange> delseq
)

Delete cached messages and update cached transaction IDs

Implementation

void processDelMessages(int clear, List<DeleteTransactionRange> delseq) {
  _maxDel = max(clear, _maxDel);

  if (this.clear != null) {
    this.clear = max(clear, this.clear!);
  }

  var count = 0;
  for (var range in delseq) {
    if (range.hi == null || range.hi == 0) {
      count++;
      flushMessage(range.low!);
    } else {
      for (var i = range.low ?? 0; i < range.hi!; i++) {
        count++;
        flushMessage(i);
      }
    }
  }

  if (count > 0) {
    _updateDeletedRanges();
    onData.add(null);
  }
}