@iota-big3/sdk-gateway
Version:
Universal API Gateway with protocol translation, intelligent routing, rate limiting, health checking, and caching
29 lines • 909 B
TypeScript
import { EventEmitter } from 'events';
import { CircuitBreakerConfig, CircuitBreakerState, CircuitBreakerMetrics } from '../types/gateway-types';
export declare class CircuitBreaker extends EventEmitter {
private config;
private state;
private failures;
private successes;
private lastFailure?;
private nextAttempt?;
private isEnabled;
constructor(config: CircuitBreakerConfig);
execute<T>(fn: () => Promise<T>): Promise<T>;
private onSuccess;
private onFailure;
private shouldAttemptReset;
private trip;
private reset;
getMetrics(): CircuitBreakerMetrics;
getState(): CircuitBreakerState;
isCircuitOpen(): boolean;
isCircuitClosed(): boolean;
isCircuitHalfOpen(): boolean;
enable(): void;
disable(): void;
forceOpen(): void;
forceClose(): void;
forceClear(): void;
}
//# sourceMappingURL=circuit-breaker.d.ts.map