redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
20 lines (19 loc) • 1.13 kB
TypeScript
import { EExchangeType, IExchangeParams, IRequiredConfig, TQueueParams } from '../../../types';
import { RedisClient } from 'redis-smq-common';
import { ICallback } from 'redis-smq-common/dist/types';
export declare abstract class Exchange<TBindingParams, TBindingType extends EExchangeType> {
protected exchangeTag: string;
protected destinationQueue: TQueueParams | null;
protected bindingParams: TBindingParams;
protected type: TBindingType;
protected constructor(bindingParams: TBindingParams, type: TBindingType);
protected generateExchangeTag(): string;
setDestinationQueue(queue: TQueueParams | null): void;
getBindingParams(): TBindingParams;
getDestinationQueue(): TQueueParams | null;
getRequiredDestinationQueue(): TQueueParams;
toJSON(): IExchangeParams<TBindingParams, TBindingType>;
fromJSON(JSON: Partial<IExchangeParams<TBindingParams, TBindingType>>): void;
protected abstract validateBindingParams(bindingParams: TBindingParams): TBindingParams;
abstract getQueues(redisClient: RedisClient, config: IRequiredConfig, cb: ICallback<TQueueParams[]>): void;
}