UNPKG

1.23 kBTypeScriptView Raw
1/// <reference types="node" />
2import reduct = require('reduct');
3import Config from './config';
4import Accounts from './accounts';
5import Core from './core';
6import Stats from './stats';
7import { Middleware, MiddlewareDefinition } from '../types/middleware';
8import { PluginInstance } from '../types/plugin';
9export default class MiddlewareManager {
10 protected config: Config;
11 protected accounts: Accounts;
12 protected core: Core;
13 protected middlewares: {
14 [key: string]: Middleware;
15 };
16 protected stats: Stats;
17 private startupHandlers;
18 private teardownHandlers;
19 private outgoingDataHandlers;
20 private outgoingMoneyHandlers;
21 private started;
22 constructor(deps: reduct.Injector);
23 construct(name: string, definition: MiddlewareDefinition): Middleware;
24 setup(): Promise<void>;
25 startup(): Promise<void>;
26 addPlugin(accountId: string, plugin: PluginInstance): Promise<void>;
27 removePlugin(accountId: string, plugin: PluginInstance): Promise<void>;
28 sendData(data: Buffer, accountId: string): Promise<Buffer>;
29 sendMoney(amount: string, accountId: string): Promise<void>;
30 getMiddleware(name: string): Middleware | undefined;
31 private createHandler;
32}