sdg-admin
Version:
pomelo sdg admin plugin
57 lines (56 loc) • 1.58 kB
TypeScript
/**
* 接受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;
}