UNPKG

ravendb

Version:
40 lines 1.6 kB
import { ServerNode } from "./ServerNode.js"; import CurrentIndexAndNode from "../Http/CurrentIndexAndNode.js"; import { Topology } from "./Topology.js"; declare class NodeSelectorState { topology: Topology; failures: number[]; fastestRecords: number[]; fastest: number; speedTestMode: number; unlikelyEveryoneFaultedChoiceIndex: number; constructor(topology: Topology, prevState?: NodeSelectorState); get nodes(): ServerNode[]; getNodeWhenEveryoneMarkedAsFaulted(): CurrentIndexAndNode; } export declare class NodeSelector { private _updateFastestNodeTimer; protected _state: NodeSelectorState; constructor(topology: Topology); getTopology(): Topology; onFailedRequest(nodeIndex: number): void; onUpdateTopology(topology: Topology, forceUpdate?: boolean): boolean; getNodeBySessionId(sessionId: number): CurrentIndexAndNode; getRequestedNode(nodeTag: string): CurrentIndexAndNode; nodeIsAvailable(index: number): boolean; getPreferredNode(): CurrentIndexAndNode; static getPreferredNodeInternal(state: NodeSelectorState): CurrentIndexAndNode; getNodeSelectorFailures(): number[]; private static _unlikelyEveryoneFaultedChoice; getFastestNode(): CurrentIndexAndNode; restoreNodeIndex(node: ServerNode): void; private _switchToSpeedTestPhase; inSpeedTestPhase(): boolean; recordFastest(index: number, node: ServerNode): void; private static _findMaxIndex; private _selectFastest; scheduleSpeedTest(): void; dispose(): void; } export {}; //# sourceMappingURL=NodeSelector.d.ts.map