processQueue method

  1. @override
int processQueue()
override

Processes all pending compactions in the queue.

Returns the number of sessions successfully compacted.

Implementation

@override
int processQueue() {
  if (_queue.isEmpty) return 0;

  int count = 0;
  // Process the entire queue in batch.
  while (_queue.isNotEmpty) {
    final sessionId = _queue.removeAt(0);
    final success = _compactSession(sessionId);
    if (success) {
      _processed.add(sessionId);
      count++;
    }
  }

  return count;
}