processEvent method
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);
}
}