flushStoredEvents method

Future<void> flushStoredEvents()

Internal flush: get events from storage, send, if failed re-save

Implementation

Future<void> flushStoredEvents() async {
  await _flushLock.synchronized(() async {
    final events = await storageHandler.getAndClearEvents();
    if (events == null || events.trim().isEmpty) return;

    try {
      final success = await _sendEvents(events);
      if (!success) {
        dbLogger.warning('Sending events failed, re-saving to storage');
        await storageHandler.saveEvents(events);
      }
    } catch (e, st) {
      dbLogger.severe('flushStoredEvents failed', e, st);
      await storageHandler.saveEvents(events);
    }
  });
}