UNPKG

sdg-admin

Version:

pomelo sdg admin plugin

57 lines (56 loc) 1.58 kB
/** * 接受monitor和client的request/notify,向monitor发送request/notify, * master不会向client发出request/notify,只会针对client的request进行response */ /// <reference types="node" /> import { Socket } from 'socket.io'; import { EventEmitter } from 'events'; import { IAgentClient, IMasterAgentOpts, IObject, ISocketMsg } from '..'; import { ConsoleService } from '../consoleService'; export declare class MasterAgent extends EventEmitter { consoleService: ConsoleService; port: number; timeout: number; sockets: { [key: string]: Socket; }; servers: { [key: string]: IAgentClient; }; constructor(consoleService: ConsoleService, opts: IMasterAgentOpts); start(): Promise<void>; set(moduleId: string, value: IObject): void; get(moduleId: string): any; getServerByType(type: string): IAgentClient[]; /** * 发送消息到指定monitor * @param id * @param msg */ sendMsgById(id: string, msg: ISocketMsg): Promise<IObject>; /** * 发送消息到某类monitor * @param type * @param msg */ sendMsgByServerType(type: string, msg: ISocketMsg): Promise<IObject>; /** * 发送消息到所有monitor * @param msg */ sendMsg2AllServer(msg: ISocketMsg): Promise<IObject>; /** * 绑定事件 * @param socket */ private socketEvents; private addServer; private removeServer; /** * 批量发送消息 * @param msg * @param servers */ private toServers; private doSend; }