redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
21 lines (20 loc) • 1.16 kB
TypeScript
import { IRequiredConfig, TGetMessagesReply } from '../../../../types';
import { Message } from '../../message/message';
import { RedisClient } from 'redis-smq-common';
import { ICallback, ICompatibleLogger } from 'redis-smq-common/dist/types';
export declare abstract class AbstractMessageStorage<KeyParams extends {
keyMessages: string;
}, IdParams extends {
messageId: string;
}> {
protected redisClient: RedisClient;
protected logger: ICompatibleLogger;
protected config: IRequiredConfig;
constructor(config: IRequiredConfig, redisClient: RedisClient, logger: ICompatibleLogger);
protected validatePaginationParams(skip: number, take: number): void;
protected abstract getMessageById(key: KeyParams, id: IdParams, cb: ICallback<Message>): void;
protected abstract deleteMessage(key: KeyParams, id: IdParams, cb: ICallback<void>): void;
protected abstract fetchMessages(key: KeyParams, skip: number, take: number, cb: ICallback<TGetMessagesReply>): void;
protected abstract purgeMessages(key: KeyParams, cb: ICallback<void>): void;
protected abstract countMessages(key: KeyParams, cb: ICallback<number>): void;
}