redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
30 lines • 1.79 kB
TypeScript
import { ICallback, ILogger, IRedisClient, Runnable } from 'redis-smq-common';
import { TProducerEvent } from '../event-bus/index.js';
import { ExchangeDirect, ExchangeFanout, ExchangeTopic, IExchangeParsedParams } from '../exchange/index.js';
import { ProducibleMessage } from '../message/index.js';
import { MessageEnvelope } from '../message/message-envelope.js';
import { IQueueParams } from '../queue-manager/index.js';
import { PubSubTargetResolver } from './pub-sub-target-resolver.js';
export declare class Producer extends Runnable<TProducerEvent> {
protected fanoutExchange: ExchangeFanout;
protected directExchange: ExchangeDirect;
protected topicExchange: ExchangeTopic;
protected logger: ILogger;
protected pubSubTargetResolver: PubSubTargetResolver | null;
protected redisClient: IRedisClient | null;
constructor();
protected getRedisClient(): IRedisClient;
protected _runPubSubTargetResolver: (cb: ICallback) => void;
protected _shutdownPubSubTargetResolver: (cb: ICallback) => void;
protected goingUp(): ((cb: ICallback) => void)[];
protected finalizeUp(): void;
protected goingDown(): ((cb: ICallback) => void)[];
protected finalizeDown(): void;
protected getPubSubTargetResolver(): PubSubTargetResolver;
protected _dispatch(message: MessageEnvelope, queue: IQueueParams, cb: ICallback<string>): void;
protected _produceToQueue(message: ProducibleMessage, queue: IQueueParams, cb: ICallback<string[]>): void;
protected _matchExchangeQueues(exchange: IExchangeParsedParams, routingKey: string | null, cb: ICallback<IQueueParams[]>): void;
produce(msg: ProducibleMessage): Promise<string[]>;
produce(msg: ProducibleMessage, cb: ICallback<string[]>): void;
}
//# sourceMappingURL=producer.d.ts.map