1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import * as dgram from 'dgram';
|
7 | import * as events from 'events';
|
8 | import * as os from 'os';
|
9 | export interface Interface {
|
10 | address: string;
|
11 | broadcast: string;
|
12 | }
|
13 | export interface PublisherMessage {
|
14 | t: number;
|
15 | id: string;
|
16 | nspace: string;
|
17 | name: string;
|
18 | host: string;
|
19 | ip: string;
|
20 | port: number;
|
21 | commPort?: number;
|
22 | path: string;
|
23 | }
|
24 | export interface IPublisherEventEmitter {
|
25 | on(event: 'error', listener: (err: Error) => void): this;
|
26 | }
|
27 | export declare class Publisher extends events.EventEmitter implements IPublisherEventEmitter {
|
28 | namespace: string;
|
29 | name: string;
|
30 | port: number;
|
31 | commPort?: number | undefined;
|
32 | readonly id: string;
|
33 | readonly path = "/";
|
34 | running: boolean;
|
35 | interfaces?: Interface[];
|
36 | protected timer?: NodeJS.Timer;
|
37 | protected interval: number;
|
38 | protected client?: dgram.Socket;
|
39 | constructor(namespace: string, name: string, port: number, commPort?: number | undefined);
|
40 | start(): Promise<void>;
|
41 | stop(): void;
|
42 | protected buildMessage(ip: string): PublisherMessage;
|
43 | protected getInterfaces(): Interface[] | undefined;
|
44 | protected sayHello(): void;
|
45 | }
|
46 | export declare function prepareInterfaces(interfaces: NodeJS.Dict<os.NetworkInterfaceInfo[]>): Interface[] | undefined;
|
47 | export declare function newSilentPublisher(namespace: string, name: string, port: number): Publisher;
|
48 | export declare function computeBroadcastAddress(address: string, netmask: string): string;
|