@libp2p/mdns 0.18.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/compat/index.d.ts +3 -4
- package/dist/src/compat/index.d.ts.map +1 -1
- package/dist/src/compat/index.js +3 -3
- package/dist/src/compat/index.js.map +1 -1
- package/dist/src/compat/querier.d.ts +3 -3
- package/dist/src/compat/querier.d.ts.map +1 -1
- package/dist/src/compat/querier.js +10 -9
- package/dist/src/compat/querier.js.map +1 -1
- package/dist/src/compat/responder.d.ts.map +1 -1
- package/dist/src/compat/responder.js +2 -4
- package/dist/src/compat/responder.js.map +1 -1
- package/dist/src/index.d.ts +4 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/query.d.ts.map +1 -1
- package/dist/src/query.js +2 -4
- package/dist/src/query.js.map +1 -1
- package/package.json +6 -7
- package/src/compat/index.ts +5 -5
- package/src/compat/querier.ts +12 -11
- package/src/compat/responder.ts +2 -4
- package/src/index.ts +18 -12
- package/src/query.ts +2 -4
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces';
|
|
3
2
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
4
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
5
|
-
import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery';
|
|
6
|
-
export declare class GoMulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
4
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
5
|
+
export declare class GoMulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
7
6
|
private _started;
|
|
8
7
|
private readonly _responder;
|
|
9
8
|
private readonly _querier;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;AAG9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE3F,qBAAa,cAAe,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa;IAC5F,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAErB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;IAqB/G,SAAS;IAIH,KAAK;IAaL,IAAI;CAYX"}
|
package/dist/src/compat/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Compatibility with Go libp2p MDNS
|
|
2
|
-
import { EventEmitter } from '
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interfaces';
|
|
3
3
|
import { Responder } from './responder.js';
|
|
4
4
|
import { Querier } from './querier.js';
|
|
5
5
|
export class GoMulticastDNS extends EventEmitter {
|
|
@@ -16,8 +16,8 @@ export class GoMulticastDNS extends EventEmitter {
|
|
|
16
16
|
queryInterval,
|
|
17
17
|
queryPeriod
|
|
18
18
|
});
|
|
19
|
-
this._querier.
|
|
20
|
-
this.
|
|
19
|
+
this._querier.addEventListener('peer', (evt) => {
|
|
20
|
+
this.dispatchEvent(new CustomEvent('peer', { detail: evt.detail }));
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
isStarted() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,MAAM,OAAO,cAAe,SAAQ,YAAiC;IAKnE,YAAa,OAAkG;QAC7G,KAAK,EAAE,CAAA;QACP,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAElE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC;YAC9B,MAAM;YACN,UAAU;SACX,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC;YAC1B,MAAM;YACN,aAAa;YACb,WAAW;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;SACrB,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { EventEmitter } from '
|
|
2
|
+
import { EventEmitter } from '@libp2p/interfaces';
|
|
3
3
|
import { PeerId } from '@libp2p/peer-id';
|
|
4
|
-
import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery';
|
|
4
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
5
5
|
import type { ResponsePacket } from 'multicast-dns';
|
|
6
6
|
import type { RemoteInfo } from 'dgram';
|
|
7
7
|
export interface QuerierOptions {
|
|
@@ -12,7 +12,7 @@ export interface QuerierOptions {
|
|
|
12
12
|
export interface Handle {
|
|
13
13
|
stop: () => Promise<void>;
|
|
14
14
|
}
|
|
15
|
-
export declare class Querier extends EventEmitter implements PeerDiscovery {
|
|
15
|
+
export declare class Querier extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
16
16
|
private readonly _peerIdStr;
|
|
17
17
|
private readonly _options;
|
|
18
18
|
private _handle?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querier.d.ts","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"querier.d.ts","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIvC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,qBAAa,OAAQ,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa;IACrF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,OAAO,CAAC,CAAQ;gBAEX,OAAO,EAAE,cAAc;IAyBpC,SAAS;IAIT,KAAK;IAgCL,WAAW,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU;IAoE9C,IAAI;CAKX"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { EventEmitter } from '
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces';
|
|
2
2
|
import MDNS from 'multicast-dns';
|
|
3
3
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import { PeerId } from '@libp2p/peer-id';
|
|
5
|
-
import
|
|
5
|
+
import { logger } from '@libp2p/logger';
|
|
6
6
|
import { SERVICE_TAG_LOCAL, MULTICAST_IP, MULTICAST_PORT } from './constants.js';
|
|
7
7
|
import { base58btc } from 'multiformats/bases/base58';
|
|
8
|
-
const log =
|
|
9
|
-
error: debug('libp2p:mdns:compat:querier:error')
|
|
10
|
-
});
|
|
8
|
+
const log = logger('libp2p:mdns:compat:querier');
|
|
11
9
|
export class Querier extends EventEmitter {
|
|
12
10
|
constructor(options) {
|
|
13
11
|
super();
|
|
@@ -108,10 +106,13 @@ export class Querier extends EventEmitter {
|
|
|
108
106
|
}
|
|
109
107
|
return addrs;
|
|
110
108
|
}, []);
|
|
111
|
-
this.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
110
|
+
detail: {
|
|
111
|
+
id: peerId,
|
|
112
|
+
multiaddrs,
|
|
113
|
+
protcols: []
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
115
116
|
}
|
|
116
117
|
async stop() {
|
|
117
118
|
if (this._handle != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querier.js","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"querier.js","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../../src/compat/responder.ts"],"names":[],"mappings":";AACA,OAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,yBAAyB,CAAA;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../../src/compat/responder.ts"],"names":[],"mappings":";AACA,OAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,yBAAyB,CAAA;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAKvC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,KAAK,CAAC,CAAmB;gBAEpB,OAAO,EAAE,gBAAgB;IAYtC,KAAK;IAKL,QAAQ,CAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU;IAyE9C,IAAI;CAYL"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import OS from 'os';
|
|
2
2
|
import MDNS from 'multicast-dns';
|
|
3
|
-
import
|
|
3
|
+
import { logger } from '@libp2p/logger';
|
|
4
4
|
import { SERVICE_TAG_LOCAL } from './constants.js';
|
|
5
5
|
import { base58btc } from 'multiformats/bases/base58';
|
|
6
|
-
const log =
|
|
7
|
-
error: debug('libp2p:mdns:compat:responder:error')
|
|
8
|
-
});
|
|
6
|
+
const log = logger('libp2p:mdns:compat:responder');
|
|
9
7
|
export class Responder {
|
|
10
8
|
constructor(options) {
|
|
11
9
|
const { peerId, multiaddrs } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/compat/responder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAqB,MAAM,eAAe,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/compat/responder.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import multicastDNS from 'multicast-dns';
|
|
3
|
-
import { EventEmitter } from '
|
|
2
|
+
import { EventEmitter } from '@libp2p/interfaces';
|
|
4
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
5
|
-
import type PeerDiscovery from '@libp2p/interfaces/peer-discovery';
|
|
4
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
6
5
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
7
6
|
import type { PeerData } from '@libp2p/interfaces/peer-data';
|
|
8
7
|
export interface MulticastDNSOptions {
|
|
@@ -16,7 +15,7 @@ export interface MulticastDNSOptions {
|
|
|
16
15
|
compatQueryPeriod?: number;
|
|
17
16
|
compatQueryInterval?: number;
|
|
18
17
|
}
|
|
19
|
-
export declare class MulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
18
|
+
export declare class MulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
20
19
|
static tag: string;
|
|
21
20
|
mdns?: multicastDNS.MulticastDNS;
|
|
22
21
|
private readonly broadcast;
|
|
@@ -37,7 +36,7 @@ export declare class MulticastDNS extends EventEmitter implements PeerDiscovery
|
|
|
37
36
|
start(): Promise<void>;
|
|
38
37
|
_onMdnsQuery(event: multicastDNS.QueryPacket): void;
|
|
39
38
|
_onMdnsResponse(event: multicastDNS.ResponsePacket): void;
|
|
40
|
-
_onPeer(
|
|
39
|
+
_onPeer(evt: CustomEvent<PeerData>): void;
|
|
41
40
|
/**
|
|
42
41
|
* Stop sending queries to the LAN.
|
|
43
42
|
*
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAI9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAI5D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,qBAAa,YAAa,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa;IAC1F,MAAM,CAAC,GAAG,SAAS;IAEZ,IAAI,CAAC,EAAE,YAAY,CAAC,YAAY,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;gBAE5B,OAAO,EAAE,mBAAmB;IA6BzC,SAAS;IAIT;;;;OAIG;IACG,KAAK;IAgBX,YAAY,CAAE,KAAK,EAAE,YAAY,CAAC,WAAW;IAQ7C,eAAe,CAAE,KAAK,EAAE,YAAY,CAAC,cAAc;IAcnD,OAAO,CAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC;IAUnC;;;;OAIG;IACG,IAAI;CA2BX"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import multicastDNS from 'multicast-dns';
|
|
2
|
-
import { EventEmitter } from '
|
|
3
|
-
import
|
|
2
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces';
|
|
3
|
+
import { logger } from '@libp2p/logger';
|
|
4
4
|
import * as query from './query.js';
|
|
5
5
|
import { GoMulticastDNS } from './compat/index.js';
|
|
6
|
-
const log =
|
|
7
|
-
error: debug('libp2p:mdns:error')
|
|
8
|
-
});
|
|
6
|
+
const log = logger('libp2p:mdns');
|
|
9
7
|
export class MulticastDNS extends EventEmitter {
|
|
10
8
|
constructor(options) {
|
|
11
9
|
super();
|
|
@@ -29,7 +27,7 @@ export class MulticastDNS extends EventEmitter {
|
|
|
29
27
|
queryPeriod: options.compatQueryPeriod,
|
|
30
28
|
queryInterval: options.compatQueryInterval
|
|
31
29
|
});
|
|
32
|
-
this._goMdns.
|
|
30
|
+
this._goMdns.addEventListener('peer', this._onPeer);
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
33
|
isStarted() {
|
|
@@ -62,15 +60,22 @@ export class MulticastDNS extends EventEmitter {
|
|
|
62
60
|
try {
|
|
63
61
|
const foundPeer = query.gotResponse(event, this.peerId, this.serviceTag);
|
|
64
62
|
if (foundPeer != null) {
|
|
65
|
-
this.
|
|
63
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
64
|
+
detail: foundPeer
|
|
65
|
+
}));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
catch (err) {
|
|
69
69
|
log('Error processing peer response', err);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
_onPeer(
|
|
73
|
-
(this.mdns
|
|
72
|
+
_onPeer(evt) {
|
|
73
|
+
if (this.mdns == null) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
77
|
+
detail: evt.detail
|
|
78
|
+
}));
|
|
74
79
|
}
|
|
75
80
|
/**
|
|
76
81
|
* Stop sending queries to the LAN.
|
|
@@ -83,7 +88,7 @@ export class MulticastDNS extends EventEmitter {
|
|
|
83
88
|
}
|
|
84
89
|
this.mdns.removeListener('query', this._onMdnsQuery);
|
|
85
90
|
this.mdns.removeListener('response', this._onMdnsResponse);
|
|
86
|
-
this._goMdns?.
|
|
91
|
+
this._goMdns?.removeEventListener('peer', this._onPeer);
|
|
87
92
|
if (this._queryInterval != null) {
|
|
88
93
|
clearInterval(this._queryInterval);
|
|
89
94
|
this._queryInterval = null;
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAmB,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAmB,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAK9E,wBAAgB,QAAQ,CAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAcjF;AAUD,wBAAgB,WAAW,CAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CA2D/G;AAED,wBAAgB,QAAQ,CAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,QAmE9I"}
|
package/dist/src/query.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
|
-
import
|
|
2
|
+
import { logger } from '@libp2p/logger';
|
|
3
3
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
5
5
|
import { PeerId } from '@libp2p/peer-id';
|
|
6
|
-
const log =
|
|
7
|
-
error: debug('libp2p:mdns:error')
|
|
8
|
-
});
|
|
6
|
+
const log = logger('libp2p:mdns');
|
|
9
7
|
export function queryLAN(mdns, serviceTag, interval) {
|
|
10
8
|
const query = () => {
|
|
11
9
|
log('query', serviceTag);
|
package/dist/src/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/mdns",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Node.js libp2p mDNS discovery implementation for peer discovery",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-mdns#readme",
|
|
@@ -129,17 +129,16 @@
|
|
|
129
129
|
"release": "semantic-release"
|
|
130
130
|
},
|
|
131
131
|
"dependencies": {
|
|
132
|
-
"@libp2p/
|
|
132
|
+
"@libp2p/logger": "^1.0.2",
|
|
133
|
+
"@libp2p/peer-id": "^1.1.1",
|
|
133
134
|
"@multiformats/multiaddr": "^10.0.0",
|
|
134
|
-
"debug": "^4.3.1",
|
|
135
135
|
"multicast-dns": "^7.2.0",
|
|
136
136
|
"multiformats": "^9.6.3"
|
|
137
137
|
},
|
|
138
138
|
"devDependencies": {
|
|
139
|
-
"@libp2p/interface-compliance-tests": "^1.
|
|
140
|
-
"@libp2p/interfaces": "^1.
|
|
141
|
-
"@libp2p/peer-id-factory": "^1.0.
|
|
142
|
-
"@types/debug": "^4.1.7",
|
|
139
|
+
"@libp2p/interface-compliance-tests": "^1.1.3",
|
|
140
|
+
"@libp2p/interfaces": "^1.3.3",
|
|
141
|
+
"@libp2p/peer-id-factory": "^1.0.4",
|
|
143
142
|
"@types/multicast-dns": "^7.2.1",
|
|
144
143
|
"aegir": "^36.1.0",
|
|
145
144
|
"delay": "^5.0.0",
|
package/src/compat/index.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Compatibility with Go libp2p MDNS
|
|
2
|
-
import { EventEmitter } from '
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interfaces'
|
|
3
3
|
import { Responder } from './responder.js'
|
|
4
4
|
import { Querier } from './querier.js'
|
|
5
5
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
6
6
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
7
|
-
import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery'
|
|
7
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery'
|
|
8
8
|
|
|
9
|
-
export class GoMulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
9
|
+
export class GoMulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
10
10
|
private _started: boolean
|
|
11
11
|
private readonly _responder: Responder
|
|
12
12
|
private readonly _querier: Querier
|
|
@@ -27,8 +27,8 @@ export class GoMulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
|
27
27
|
queryPeriod
|
|
28
28
|
})
|
|
29
29
|
|
|
30
|
-
this._querier.
|
|
31
|
-
this.
|
|
30
|
+
this._querier.addEventListener('peer', (evt) => {
|
|
31
|
+
this.dispatchEvent(new CustomEvent('peer', { detail: evt.detail }))
|
|
32
32
|
})
|
|
33
33
|
}
|
|
34
34
|
|
package/src/compat/querier.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { EventEmitter } from '
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces'
|
|
2
2
|
import MDNS from 'multicast-dns'
|
|
3
3
|
import { Multiaddr } from '@multiformats/multiaddr'
|
|
4
4
|
import { PeerId } from '@libp2p/peer-id'
|
|
5
|
-
import
|
|
5
|
+
import { logger } from '@libp2p/logger'
|
|
6
6
|
import { SERVICE_TAG_LOCAL, MULTICAST_IP, MULTICAST_PORT } from './constants.js'
|
|
7
7
|
import { base58btc } from 'multiformats/bases/base58'
|
|
8
|
-
import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery'
|
|
8
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery'
|
|
9
9
|
import type { ResponsePacket } from 'multicast-dns'
|
|
10
10
|
import type { RemoteInfo } from 'dgram'
|
|
11
11
|
|
|
12
|
-
const log =
|
|
13
|
-
error: debug('libp2p:mdns:compat:querier:error')
|
|
14
|
-
})
|
|
12
|
+
const log = logger('libp2p:mdns:compat:querier')
|
|
15
13
|
|
|
16
14
|
export interface QuerierOptions {
|
|
17
15
|
peerId: PeerId
|
|
@@ -23,7 +21,7 @@ export interface Handle {
|
|
|
23
21
|
stop: () => Promise<void>
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
export class Querier extends EventEmitter implements PeerDiscovery {
|
|
24
|
+
export class Querier extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
27
25
|
private readonly _peerIdStr: string
|
|
28
26
|
private readonly _options: Required<QuerierOptions>
|
|
29
27
|
private _handle?: Handle
|
|
@@ -148,10 +146,13 @@ export class Querier extends EventEmitter implements PeerDiscovery {
|
|
|
148
146
|
return addrs
|
|
149
147
|
}, [])
|
|
150
148
|
|
|
151
|
-
this.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
150
|
+
detail: {
|
|
151
|
+
id: peerId,
|
|
152
|
+
multiaddrs,
|
|
153
|
+
protcols: []
|
|
154
|
+
}
|
|
155
|
+
}))
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
async stop () {
|
package/src/compat/responder.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OS from 'os'
|
|
2
2
|
import MDNS, { QueryPacket } from 'multicast-dns'
|
|
3
|
-
import
|
|
3
|
+
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { SERVICE_TAG_LOCAL } from './constants.js'
|
|
5
5
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
6
6
|
import type { Multiaddr, MultiaddrObject } from '@multiformats/multiaddr'
|
|
@@ -8,9 +8,7 @@ import { base58btc } from 'multiformats/bases/base58'
|
|
|
8
8
|
import type { RemoteInfo } from 'dgram'
|
|
9
9
|
import type { Answer } from 'dns-packet'
|
|
10
10
|
|
|
11
|
-
const log =
|
|
12
|
-
error: debug('libp2p:mdns:compat:responder:error')
|
|
13
|
-
})
|
|
11
|
+
const log = logger('libp2p:mdns:compat:responder')
|
|
14
12
|
|
|
15
13
|
export interface ResponderOptions {
|
|
16
14
|
peerId: PeerId
|
package/src/index.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import multicastDNS from 'multicast-dns'
|
|
2
|
-
import { EventEmitter } from '
|
|
3
|
-
import
|
|
2
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces'
|
|
3
|
+
import { logger } from '@libp2p/logger'
|
|
4
4
|
import * as query from './query.js'
|
|
5
5
|
import { GoMulticastDNS } from './compat/index.js'
|
|
6
6
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
7
|
-
import type PeerDiscovery from '@libp2p/interfaces/peer-discovery'
|
|
7
|
+
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery'
|
|
8
8
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
9
9
|
import type { PeerData } from '@libp2p/interfaces/peer-data'
|
|
10
10
|
|
|
11
|
-
const log =
|
|
12
|
-
error: debug('libp2p:mdns:error')
|
|
13
|
-
})
|
|
11
|
+
const log = logger('libp2p:mdns')
|
|
14
12
|
|
|
15
13
|
export interface MulticastDNSOptions {
|
|
16
14
|
peerId: PeerId
|
|
@@ -24,7 +22,7 @@ export interface MulticastDNSOptions {
|
|
|
24
22
|
compatQueryInterval?: number
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
export class MulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
25
|
+
export class MulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
|
|
28
26
|
static tag = 'mdns'
|
|
29
27
|
|
|
30
28
|
public mdns?: multicastDNS.MulticastDNS
|
|
@@ -63,7 +61,7 @@ export class MulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
|
63
61
|
queryPeriod: options.compatQueryPeriod,
|
|
64
62
|
queryInterval: options.compatQueryInterval
|
|
65
63
|
})
|
|
66
|
-
this._goMdns.
|
|
64
|
+
this._goMdns.addEventListener('peer', this._onPeer)
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
|
|
@@ -105,15 +103,23 @@ export class MulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
|
105
103
|
const foundPeer = query.gotResponse(event, this.peerId, this.serviceTag)
|
|
106
104
|
|
|
107
105
|
if (foundPeer != null) {
|
|
108
|
-
this.
|
|
106
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
107
|
+
detail: foundPeer
|
|
108
|
+
}))
|
|
109
109
|
}
|
|
110
110
|
} catch (err) {
|
|
111
111
|
log('Error processing peer response', err)
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
_onPeer (
|
|
116
|
-
(this.mdns
|
|
115
|
+
_onPeer (evt: CustomEvent<PeerData>) {
|
|
116
|
+
if (this.mdns == null) {
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
this.dispatchEvent(new CustomEvent('peer', {
|
|
121
|
+
detail: evt.detail
|
|
122
|
+
}))
|
|
117
123
|
}
|
|
118
124
|
|
|
119
125
|
/**
|
|
@@ -128,7 +134,7 @@ export class MulticastDNS extends EventEmitter implements PeerDiscovery {
|
|
|
128
134
|
|
|
129
135
|
this.mdns.removeListener('query', this._onMdnsQuery)
|
|
130
136
|
this.mdns.removeListener('response', this._onMdnsResponse)
|
|
131
|
-
this._goMdns?.
|
|
137
|
+
this._goMdns?.removeEventListener('peer', this._onPeer)
|
|
132
138
|
|
|
133
139
|
if (this._queryInterval != null) {
|
|
134
140
|
clearInterval(this._queryInterval)
|
package/src/query.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os from 'os'
|
|
2
|
-
import
|
|
2
|
+
import { logger } from '@libp2p/logger'
|
|
3
3
|
import { Multiaddr, MultiaddrObject } from '@multiformats/multiaddr'
|
|
4
4
|
import { base58btc } from 'multiformats/bases/base58'
|
|
5
5
|
import { PeerId } from '@libp2p/peer-id'
|
|
@@ -7,9 +7,7 @@ import type { PeerData } from '@libp2p/interfaces/peer-data'
|
|
|
7
7
|
import type { MulticastDNS, ResponsePacket, QueryPacket } from 'multicast-dns'
|
|
8
8
|
import type { SrvAnswer, StringAnswer, TxtAnswer, Answer } from 'dns-packet'
|
|
9
9
|
|
|
10
|
-
const log =
|
|
11
|
-
error: debug('libp2p:mdns:error')
|
|
12
|
-
})
|
|
10
|
+
const log = logger('libp2p:mdns')
|
|
13
11
|
|
|
14
12
|
export function queryLAN (mdns: MulticastDNS, serviceTag: string, interval: number) {
|
|
15
13
|
const query = () => {
|