diff options
Diffstat (limited to 'src/server/session/agents/process_message_router.ts')
-rw-r--r-- | src/server/session/agents/process_message_router.ts | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/src/server/session/agents/process_message_router.ts b/src/server/session/agents/process_message_router.ts deleted file mode 100644 index d359e97c3..000000000 --- a/src/server/session/agents/process_message_router.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { MessageHandler, PromisifiedIPCManager } from "./promisified_ipc_manager"; - -export default abstract class ProcessMessageRouter { - - protected static IPCManager: PromisifiedIPCManager; - private onMessage: { [name: string]: MessageHandler[] | undefined } = {}; - - /** - * Add a listener at this message. When the monitor process - * receives a message, it will invoke all registered functions. - */ - public on = (name: string, handler: MessageHandler, exclusive = false) => { - const handlers = this.onMessage[name]; - if (exclusive || !handlers) { - this.onMessage[name] = [handler]; - } else { - handlers.push(handler); - } - } - - /** - * Unregister a given listener at this message. - */ - public off = (name: string, handler: MessageHandler) => { - const handlers = this.onMessage[name]; - if (handlers) { - const index = handlers.indexOf(handler); - if (index > -1) { - handlers.splice(index, 1); - } - } - } - - /** - * Unregister all listeners at this message. - */ - public clearMessageListeners = (...names: string[]) => names.map(name => this.onMessage[name] = undefined); - - protected route: MessageHandler = async ({ name, args }) => { - const handlers = this.onMessage[name]; - if (handlers) { - await Promise.all(handlers.map(handler => handler(args))); - } - } - -}
\ No newline at end of file |