@xmobitea/gn-server
Version:
GearN Server by XmobiTea (Pro)
47 lines (46 loc) • 1.35 kB
TypeScript
import express from "express";
interface NodeInfo {
instanceId: string;
fullUrl: string;
}
interface InstanceInfoStatus {
instanceId: string;
isPrimary: boolean;
tsPrimary: number;
currentInstanceIdPrimary: string;
currentTsPrimary: number;
}
interface InstanceInfo extends InstanceInfoStatus {
lostPing: number;
}
export declare class ClusterHandler {
private router;
private clusterRouter;
private instanceId;
private isPrimary;
private privateKeyToken;
private allNodes;
private instanceInfoStatus;
private instanceInfos;
private onEventCallback;
private isSingleNode;
setRouter(router: express.Express): void;
setInstanceId(instanceId: string): void;
setIsPrimary(isPrimary: boolean): void;
getIsPrimary(): boolean;
getIsSingleNode(): boolean;
getInstanceInfoStatus(): InstanceInfoStatus;
getInstanceInfos(): InstanceInfo[];
setPrivateKeyToken(privateKeyToken: string): void;
setAllNodes(allNodes: NodeInfo[]): void;
init(): void;
run(): void;
private callbackInvoke;
private update;
private checkInstanceStatus;
private checkInstancePrimary;
onEvent(name: string, onData: (data: any) => void): void;
sendEvent(name: string, data?: any, includeMe?: boolean): Promise<void>;
constructor();
}
export {};