Skip to main content

Function: createRateLimitMiddleware()

createRateLimitMiddleware(options: { burstLimit?: number; maxEventsPerSecond?: number; onRateLimit?: (event: string, data: unknown) => void; }): EventMiddleware

Defined in: electron/events/middleware.ts:627

Creates middleware that rate-limits event processing.

Parameters

options

Configuration options for rate limiting.

burstLimit?

number

maxEventsPerSecond?

number

onRateLimit?

(event: string, data: unknown) => void

Returns

EventMiddleware

EventMiddleware function that enforces rate limits on events.

Remarks

Options include:

  • burstLimit: Maximum number of events allowed in a burst (default: 10).
  • maxEventsPerSecond: Maximum number of events allowed per second (default: 100). - onRateLimit: Optional callback invoked when an event is rate-limited.

Example

const rateLimitMiddleware = createRateLimitMiddleware({
burstLimit: 5,
maxEventsPerSecond: 50,
onRateLimit: (event, data) => {
console.warn(`Rate limit hit for event: ${event}`);
},
});
eventBus.use(rateLimitMiddleware);