processQueue method
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;
}