@creditkarma/memcached
Version:
A fully featured Memcached API client, supporting both single and clustered Memcached servers through consistent hashing and failover/failure. Memcached is rewrite of nMemcached, which will be deprecated in the near future.
48 lines (47 loc) • 1.36 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
export interface IIssueLogOptions {
failOverServers: Array<string>;
failures: number;
server: string;
tokens: Array<string>;
reconnect: number;
retry: number;
remove: boolean;
failuresTimeout: number;
}
export interface IIssueLogDetails {
server: string;
tokens: Array<string>;
messages: Array<string>;
}
export interface IFailueDetails extends IIssueLogDetails {
failures: number;
totalFailures: number;
}
export interface ISuccessDetails extends IIssueLogDetails {
totalReconnectsAttempted: number;
totalReconnectsSuccess: number;
totalReconnectsFailed: number;
totalDownTime: number;
}
export declare type IssueLogDetails = IFailueDetails | ISuccessDetails;
export declare class IssueLog extends EventEmitter {
failed: boolean;
failOverServers: Array<string> | null;
private args;
private config;
private messages;
private locked;
private isScheduledToReconnect;
private totalFailures;
private totalReconnectsAttempted;
private totalReconnectsSuccess;
private failuresResetId;
constructor(args: IIssueLogOptions);
log(message: string): void;
failuresReset(): void;
get details(): IssueLogDetails;
attemptRetry(): void;
attemptReconnect(): void;
}