@devgrid/netron
Version:
Event bus, streams and remote object invocation.
29 lines (28 loc) • 1.13 kB
TypeScript
import { AsyncEventEmitter } from '@devgrid/async-emitter';
import { LocalPeer } from './local-peer';
import { RemotePeer } from './remote-peer';
import { ServiceStub } from './service-stub';
import { Task, TaskManager } from './task-manager';
import { Abilities, NetronOptions } from './types';
export declare class Netron extends AsyncEventEmitter {
options?: NetronOptions | undefined;
id: string;
private wss?;
private ownEvents;
peer: LocalPeer;
peers: Map<string, RemotePeer>;
taskManager: TaskManager;
private isStarted;
services: Map<string, ServiceStub>;
constructor(options?: NetronOptions | undefined);
start(): Promise<void>;
stop(): Promise<void>;
connect(address: string, abilities?: Abilities): Promise<RemotePeer>;
disconnect(peerId: string): void;
getServiceNames(): string[];
addTask(fn: Task): void;
runTask(peer: RemotePeer, name: string, ...args: any[]): Promise<any>;
deleteSpecialEvents(id: string): void;
emitSpecial(event: string, id: string, data: any): Promise<void>;
static create(options?: NetronOptions): Promise<Netron>;
}