Skip to main content

Class: SimpleRateLimiter

Defined in: electron/services/monitoring/HttpMonitor.ts:74

Lightweight in-memory rate limiter for HTTP monitor requests.

Remarks

Provides coarse-grained protection against flooding a single host with requests. Not persisted; resets per process start. Intentionally simple to avoid introducing heavy dependencies.

Constructors

Constructor

new SimpleRateLimiter(maxConcurrent: number, minIntervalMs: number): SimpleRateLimiter

Defined in: electron/services/monitoring/HttpMonitor.ts:110

Parameters

maxConcurrent

number

minIntervalMs

number

Returns

SimpleRateLimiter

Properties

lastInvocation

private readonly lastInvocation: Map<string, number>

Defined in: electron/services/monitoring/HttpMonitor.ts:75


active

private active: number = 0

Defined in: electron/services/monitoring/HttpMonitor.ts:77


maxConcurrent

private readonly maxConcurrent: number

Defined in: electron/services/monitoring/HttpMonitor.ts:79


minIntervalMs

private readonly minIntervalMs: number

Defined in: electron/services/monitoring/HttpMonitor.ts:81

Methods

schedule()

schedule<T>(url: string, fn: () => Promise<T>): Promise<T>

Defined in: electron/services/monitoring/HttpMonitor.ts:83

Type Parameters

T

T

Parameters

url

string

fn

() => Promise<T>

Returns

Promise<T>


getKey()

private getKey(url: string): string

Defined in: electron/services/monitoring/HttpMonitor.ts:115

Parameters

url

string

Returns

string