processEvent method

Future<void> processEvent(
  1. ObslyEvent event
)

Process an event through the appropriate rate limiter based on event type

Implementation

Future<void> processEvent(ObslyEvent event) async {
  try {
    final RateLimiter<ObslyEvent>? rateLimiter = _getRateLimiterForEvent(event);

    if (rateLimiter != null) {
      await rateLimiter.call(event);
    } else {
      // Fallback to direct processing if no specific rate limiter is found
      ObslyLogger.warn('No rate limiter found for event type: ${event.type}, processing directly');
      await _originalEventProcessor(event);
    }
  } catch (e, stackTrace) {
    ObslyLogger.error('Error processing event through rate limiter: $e', e, stackTrace);
  }
}