UNPKG

@apiratorjs/locking-redis

Version:

An extension to the core @apiratorjs/locking library, providing Redis-based implementations of distributed mutexes and semaphores for true cross-process concurrency control in Node.js.

21 lines 898 B
import { RedisClientType } from "redis"; import { IDistributedDeferred } from "./types"; import { types } from "@apiratorjs/locking"; export declare abstract class BaseDistributedPrimitive { readonly name: string; readonly implementation: string; protected readonly _redisClient: RedisClientType; protected _redisSubscriber?: RedisClientType; protected _queue: IDistributedDeferred[]; protected _isDestroyed: boolean; protected constructor(props: { name: string; redisClient: RedisClientType; }); get isDestroyed(): boolean; protected ensureSubscriber(): Promise<void>; protected abstract tryAcquire(ttlMs: number): Promise<types.AcquireToken | undefined>; protected abstract destroy(): Promise<void>; protected abstract release(token: types.AcquireToken): Promise<void>; } //# sourceMappingURL=base-distributed-primitive.d.ts.map