import { MasterSlaver } from "./client"; import { RoleType } from "./proto"; interface ifRequest { (info: { [key: string]: any; }, role: string, requestId: string): Promise<{ code: number; [x: string]: any; }>; } interface ifControl { (info: { [key: string]: any; }, role: string, requestId?: string): void; } declare class MasterSlaveMgr { static _net: MasterSlaver; static get net(): MasterSlaver; private static eventHandle; static push_cmd(type: string, cmd: number, cb: (...args: any[]) => void, sign: string): void; private static call_cmd; static init(host: string, port: number, id: string, groupId: string, score: number, info: any): Promise; /**接收 request 请求 */ private static onRequest; /**接收 control 请求 */ private static onControl; /**接收 answer 请求 */ private static onAnswer; } export declare var MasterSlaverMoudle: { /**client的master角色 */ master: { /** * 注册request响应,一般都是向master请求 解决竞争资源的设计 * @param cmd * @param cb */ regist: (cmd: number, cb: ifRequest, name: string) => void; }; /**client的slaver角色 */ slaver: { /** * 注册control响应,一般都是节点之间的消息通信 * @param cmd * @param cb */ regist: (cmd: number, cb: ifControl, name: string) => void; /** 提供给节点间通信,主要例如 告诉其它节点需要释放掉某个用户的缓存 * @param cmd ControlCmd * @param info 传递的数据 */ broadNotice: (cmd: number, info: { [key: string]: any; }, toSelf?: boolean) => boolean; /**向master请求内容 * @param cmd RequestCmd * @param info 传递的数据 */ masterRequest: (cmd: number, info: { [key: string]: any; }) => Promise<{ [x: string]: any; code: number; }>; }; /**client的初始化角色 */ init: typeof MasterSlaveMgr.init; beMaster: (func: (isMaster: boolean, type: RoleType) => void) => boolean; instance(): MasterSlaver; isMaster(): boolean; roleId(): string; /**server的实例 */ serverInstance: import("./server").Master; name: string; }; export {};