UNPKG

@mojaloop/inter-scheme-proxy-cache-lib

Version:

Common component, that provides scheme proxy caching mapping (ISPC)

50 lines (47 loc) 2.72 kB
import Redis from 'ioredis'; import { IProxyCache, RedisProxyCacheConfig, RedisClusterProxyCacheConfig, AlsRequestDetails, IsLastFailure, ProcessExpiryKeyCallback, ProcessNodeStreamSingleKeyCallback, RedisConnectionStatus } from '../../types/lib.mjs'; import '../../constants.mjs'; import '../../types/utils.mjs'; type RedisConfig = RedisProxyCacheConfig | RedisClusterProxyCacheConfig; declare class RedisProxyCache implements IProxyCache { private readonly proxyConfig; private readonly redisClient; private readonly log; private readonly defaultTtlSec; private readonly isCluster; constructor(proxyConfig: RedisConfig, isCluster?: boolean); protected get redisNodes(): Redis[]; addDfspIdToProxyMapping(dfspId: string, proxyId: string): Promise<boolean>; lookupProxyByDfspId(dfspId: string): Promise<string | null>; removeDfspIdFromProxyMapping(dfspId: string): Promise<boolean>; removeProxyGetPartiesTimeout(alsReq: AlsRequestDetails, proxyId: string): Promise<boolean>; setProxyGetPartiesTimeout(alsReq: AlsRequestDetails, proxyId: string, ttlSec?: number): Promise<boolean>; setSendToProxiesList(alsReq: AlsRequestDetails, proxyIds: string[], ttlSec: number): Promise<boolean>; receivedSuccessResponse(alsReq: AlsRequestDetails, proxyId: string): Promise<boolean>; receivedErrorResponse(alsReq: AlsRequestDetails, proxyId: string): Promise<IsLastFailure>; isPendingCallback(alsReq: AlsRequestDetails, proxyId?: string): Promise<boolean>; processExpiredAlsKeys(callbackFn: ProcessExpiryKeyCallback, batchSize: number): Promise<unknown>; processExpiredProxyGetPartiesKeys(customFn: ProcessNodeStreamSingleKeyCallback, batchSize: number): Promise<unknown>; connect(): Promise<RedisConnectionStatus>; disconnect(): Promise<boolean>; healthCheck(): Promise<boolean>; get isConnected(): boolean; private createRedisClient; private addEventListeners; private executePipeline; /** @deprecated Use processAllNodesStream */ private processNode; private processAllNodesStream; private processSingleNodeStream; private processExpiryKey; private storeSuccessAlsResponse; private isLastCallback; private calculateExpiryTimestampInMs; static formatAlsCacheKey(alsReq: AlsRequestDetails): string; static formatAlsCacheExpiryKey(alsReq: AlsRequestDetails): string; static formatAlsCacheSuccessKey(alsReq: AlsRequestDetails): string; static formatProxyGetPartiesExpiryKey(alsReq: AlsRequestDetails, proxyId: string): string; static formatDfspCacheKey(dfspId: string): string; static extractAlsRequestDetails(key: string): AlsRequestDetails; } export { RedisProxyCache };