eosplayer
Version:
eosplayer is the glue layer of eosjs, which is packaged based on eosjs and provides better usability for the application layer. It can be used on browsers already installed scatter or in Dapp wallets.
41 lines (40 loc) • 1.38 kB
TypeScript
import { IEosNodeConfig } from '../../configs';
export interface ISignPlayerOptions {
maxFailureRate?: number;
maxContinuousFailure?: number;
failureRateThreshold?: number;
responseIntervalThreshold?: number;
responseIntervalDecline?: number;
maxCallPromiseExceedTime?: number;
cleaningTimeInterval?: number;
revivalTimeInterval?: number;
}
export declare class NodeStat {
error_counts: number;
total_counts: number;
continuous_failure: number;
enabled: boolean;
response_interval: number;
revival_time: number;
cleaning_time: number;
record_total_counts?: number;
record_total_success?: number;
record_total_fuse?: number;
record_total_failed?: number;
}
export declare class NodeStatMgr {
readonly _nodeConfigs: IEosNodeConfig[];
readonly _options: ISignPlayerOptions;
protected _nodeStatus: NodeStat[];
_currentNodeIndex: number;
constructor(_nodeConfigs: IEosNodeConfig[], _options: ISignPlayerOptions);
initNodeStatus(): void;
setTheBestNodeToCurrent(): void;
getNodeConf(index: number): IEosNodeConfig;
getNodeStat(index: number): NodeStat;
tryClean(index: number): NodeStat;
getCurNodeConf(): IEosNodeConfig;
getCurNodeStat(): NodeStat;
markSendSuccess(startTimestamp: number): NodeStat;
markSendFailed(startTimestamp: number): NodeStat;
}