flushQueue method
Flushes the event queue, attempting to send all queued events
Implementation
@override
Future<void> flushQueue() async {
LinkFortyLogger.log('Flushing event queue (${_eventQueue.count} events)');
while (!_eventQueue.isEmpty) {
final event = _eventQueue.dequeue();
if (event == null) break;
try {
await _sendEvent(event);
await _persistQueue();
LinkFortyLogger.log('Queued event sent: ${event.eventName}');
} catch (e) {
// Re-queue if send fails
_eventQueue.enqueue(event);
await _persistQueue();
LinkFortyLogger.log('Failed to send queued event: $e');
return;
}
}
}