IStorageEngine
ref / ratelimiter / IStorageEngine
Defines the contract for a storage engine.
Methods
get
ts
get(key: string): Promise<TokenBucketState | undefined>;
Retrieves the state for a given key.
set
ts
set(
key: string,
state: TokenBucketState,
ttl: number,
): Promise<void>;
Sets the state for a given key.
delete
ts
delete(key: string): Promise<void>;
Deletes the state for a given key.
increment
ts
increment(key: string, ttl: number): Promise<number>;
Atomically increments a key and sets its expiry on the first increment.
setPenalty
ts
setPenalty(key: string, ttl: number): Promise<void>;
Sets a key with a simple “true” value.
checkPenalty
ts
checkPenalty(key: string): Promise<boolean>;
Checks for the existence of a penalty key.