node-opcua-server-discovery 2.68.1 → 2.70.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/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mdns_responder.d.ts +2 -2
- package/dist/mdns_responder.js +12 -8
- package/dist/mdns_responder.js.map +1 -1
- package/dist/opcua_discovery_server.d.ts +6 -5
- package/dist/opcua_discovery_server.js +32 -22
- package/dist/opcua_discovery_server.js.map +1 -1
- package/package.json +44 -44
- package/source/mdns_responder.ts +17 -18
- package/source/opcua_discovery_server.ts +51 -28
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2DAAyC"}
|
package/dist/mdns_responder.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ export declare class MDNSResponder {
|
|
|
5
5
|
*/
|
|
6
6
|
registeredServers: ServerOnNetwork[];
|
|
7
7
|
private multicastDNS;
|
|
8
|
+
private browser;
|
|
8
9
|
private recordId;
|
|
9
|
-
|
|
10
|
-
private lastUpdateDate;
|
|
10
|
+
lastUpdateDate: Date;
|
|
11
11
|
constructor();
|
|
12
12
|
dispose(): void;
|
|
13
13
|
}
|
package/dist/mdns_responder.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MDNSResponder = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-server-discovery
|
|
6
|
+
*/
|
|
7
|
+
const sterfive_bonjour_service_1 = require("sterfive-bonjour-service");
|
|
4
8
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
5
9
|
const node_opcua_object_registry_1 = require("node-opcua-object-registry");
|
|
6
10
|
const node_opcua_service_discovery_1 = require("node-opcua-service-discovery");
|
|
@@ -12,9 +16,9 @@ class MDNSResponder {
|
|
|
12
16
|
this.lastUpdateDate = new Date();
|
|
13
17
|
registry.register(this);
|
|
14
18
|
this.registeredServers = [];
|
|
15
|
-
this.multicastDNS =
|
|
19
|
+
this.multicastDNS = new sterfive_bonjour_service_1.Bonjour();
|
|
16
20
|
this.recordId = 0;
|
|
17
|
-
this.
|
|
21
|
+
this.browser = this.multicastDNS.find({
|
|
18
22
|
protocol: "tcp",
|
|
19
23
|
type: "opcua-tcp"
|
|
20
24
|
});
|
|
@@ -83,23 +87,23 @@ class MDNSResponder {
|
|
|
83
87
|
this.registeredServers.splice(index, 1); // remove element at index
|
|
84
88
|
this.lastUpdateDate = new Date();
|
|
85
89
|
};
|
|
86
|
-
this.
|
|
90
|
+
this.browser.on("up", (service) => {
|
|
87
91
|
if (doDebug) {
|
|
88
|
-
debugLog("service is up with ",
|
|
92
|
+
debugLog("MDNSResponder : service is up with ", (0, node_opcua_service_discovery_1.serviceToString)(service));
|
|
89
93
|
}
|
|
90
94
|
addService(service);
|
|
91
95
|
});
|
|
92
|
-
this.
|
|
96
|
+
this.browser.on("down", (service) => {
|
|
93
97
|
if (doDebug) {
|
|
94
|
-
debugLog("service is down with ",
|
|
98
|
+
debugLog("MDNSResponder : service is down with ", (0, node_opcua_service_discovery_1.serviceToString)(service));
|
|
95
99
|
}
|
|
96
100
|
removeService(service);
|
|
97
101
|
});
|
|
98
102
|
}
|
|
99
103
|
dispose() {
|
|
100
|
-
delete this.multicastDNS;
|
|
104
|
+
// yy delete (this as any).multicastDNS;
|
|
105
|
+
this.multicastDNS.destroy();
|
|
101
106
|
registry.unregister(this);
|
|
102
|
-
(0, node_opcua_service_discovery_1.releaseBonjour)();
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
exports.MDNSResponder = MDNSResponder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdns_responder.js","sourceRoot":"","sources":["../source/mdns_responder.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mdns_responder.js","sourceRoot":"","sources":["../source/mdns_responder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-server-discovery
|
|
3
3
|
*/
|
|
4
|
-
import { Message, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
4
|
+
import { Message, Response, ServerSecureChannelLayer } from "node-opcua-secure-channel";
|
|
5
5
|
import { OPCUABaseServer, OPCUABaseServerOptions } from "node-opcua-server";
|
|
6
|
+
import { MdnsDiscoveryConfiguration, RegisteredServer } from "node-opcua-service-discovery";
|
|
6
7
|
import { ApplicationDescription } from "node-opcua-service-endpoints";
|
|
7
8
|
import { ErrorCallback } from "node-opcua-status-code";
|
|
8
9
|
export interface OPCUADiscoveryServerOptions extends OPCUABaseServerOptions {
|
|
@@ -16,9 +17,9 @@ export declare class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
16
17
|
private _delayInit?;
|
|
17
18
|
constructor(options: OPCUADiscoveryServerOptions);
|
|
18
19
|
start(): Promise<void>;
|
|
19
|
-
start(
|
|
20
|
+
start(callback: ErrorCallback): void;
|
|
20
21
|
shutdown(): Promise<void>;
|
|
21
|
-
shutdown(
|
|
22
|
+
shutdown(callback: ErrorCallback): void;
|
|
22
23
|
/**
|
|
23
24
|
* returns the number of registered servers
|
|
24
25
|
*/
|
|
@@ -27,6 +28,6 @@ export declare class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
27
28
|
protected _on_RegisterServer2Request(message: Message, channel: ServerSecureChannelLayer): void;
|
|
28
29
|
protected _on_RegisterServerRequest(message: Message, channel: ServerSecureChannelLayer): void;
|
|
29
30
|
protected _on_FindServersOnNetworkRequest(message: Message, channel: ServerSecureChannelLayer): void;
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
protected __internalRegisterServerWithCallback(RegisterServerXResponse: any, rawServer: RegisteredServer, discoveryConfigurations: MdnsDiscoveryConfiguration[] | undefined, callback: (err: Error | null, response?: Response) => void): Promise<void>;
|
|
32
|
+
protected __internalRegisterServer(RegisterServerXResponse: any, rawServer: RegisteredServer, discoveryConfigurations?: MdnsDiscoveryConfiguration[]): Promise<Response>;
|
|
32
33
|
}
|
|
@@ -31,10 +31,6 @@ const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
|
31
31
|
const mdns_responder_1 = require("./mdns_responder");
|
|
32
32
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
33
33
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
34
|
-
function constructFilename(p) {
|
|
35
|
-
const filename = path.join(__dirname, "..", p);
|
|
36
|
-
return filename;
|
|
37
|
-
}
|
|
38
34
|
function hasCapabilities(serverCapabilities, serverCapabilityFilter) {
|
|
39
35
|
if (serverCapabilities == null) {
|
|
40
36
|
return true; // filter is empty => no filtering should take place
|
|
@@ -92,7 +88,7 @@ class OPCUADiscoveryServer extends node_opcua_server_1.OPCUABaseServer {
|
|
|
92
88
|
});
|
|
93
89
|
});
|
|
94
90
|
}
|
|
95
|
-
start(
|
|
91
|
+
start(callback) {
|
|
96
92
|
(0, node_opcua_assert_1.assert)(!this.mDnsResponder);
|
|
97
93
|
(0, node_opcua_assert_1.assert)(Array.isArray(this.capabilitiesForMDNS));
|
|
98
94
|
this._preInitTask.push(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -100,34 +96,36 @@ class OPCUADiscoveryServer extends node_opcua_server_1.OPCUABaseServer {
|
|
|
100
96
|
}));
|
|
101
97
|
super.start((err) => {
|
|
102
98
|
if (err) {
|
|
103
|
-
return
|
|
99
|
+
return callback(err);
|
|
104
100
|
}
|
|
105
101
|
this.mDnsResponder = new mdns_responder_1.MDNSResponder();
|
|
106
102
|
// declare discovery server in bonjour
|
|
107
|
-
this.bonjourHolder.
|
|
103
|
+
this.bonjourHolder.announcedOnMulticastSubnetWithCallback({
|
|
108
104
|
capabilities: this.capabilitiesForMDNS,
|
|
109
105
|
name: this.serverInfo.applicationUri,
|
|
110
106
|
path: "/DiscoveryServer",
|
|
111
107
|
port: this.endpoints[0].port
|
|
112
108
|
}, (err2) => {
|
|
113
|
-
|
|
109
|
+
callback(err2);
|
|
114
110
|
});
|
|
115
111
|
});
|
|
116
112
|
}
|
|
117
|
-
shutdown(
|
|
113
|
+
shutdown(callback) {
|
|
118
114
|
debugLog("stopping announcement of LDS on mDNS");
|
|
119
|
-
this.
|
|
115
|
+
if (this.mDnsResponder) {
|
|
116
|
+
this.mDnsResponder.dispose();
|
|
117
|
+
this.mDnsResponder = undefined;
|
|
118
|
+
}
|
|
119
|
+
this.bonjourHolder.stopAnnouncedOnMulticastSubnetWithCallback((err) => {
|
|
120
120
|
if (err) {
|
|
121
121
|
console.log("Error ", err.message);
|
|
122
122
|
}
|
|
123
123
|
debugLog("stopping announcement of LDS on mDNS - DONE");
|
|
124
124
|
debugLog("Shutting down Discovery Server");
|
|
125
125
|
super.shutdown(() => {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
setTimeout(() => done(), 10);
|
|
126
|
+
setTimeout(() => {
|
|
127
|
+
callback();
|
|
128
|
+
}, 100);
|
|
131
129
|
});
|
|
132
130
|
});
|
|
133
131
|
}
|
|
@@ -230,14 +228,21 @@ class OPCUADiscoveryServer extends node_opcua_server_1.OPCUABaseServer {
|
|
|
230
228
|
debugLog(" startingRecordId = ", request.startingRecordId);
|
|
231
229
|
if (this.mDnsResponder) {
|
|
232
230
|
for (const server of this.mDnsResponder.registeredServers) {
|
|
231
|
+
debugLog("Exploring server ", server.serverName);
|
|
233
232
|
if (server.recordId <= request.startingRecordId) {
|
|
234
233
|
continue;
|
|
235
234
|
}
|
|
236
235
|
if (!hasCapabilities(server.serverCapabilities, serverCapabilityFilter)) {
|
|
236
|
+
// istanbul ignore next
|
|
237
|
+
if (doDebug) {
|
|
238
|
+
debugLog(" server ", server.serverName, server.serverCapabilities ? server.serverCapabilities.join(",") : [], " does not match serverCapabilities ", serverCapabilityFilter);
|
|
239
|
+
}
|
|
237
240
|
continue;
|
|
238
241
|
}
|
|
242
|
+
debugLog(" server ", server.serverName, " found");
|
|
239
243
|
servers.push(server);
|
|
240
244
|
if (servers.length === request.maxRecordsToReturn) {
|
|
245
|
+
debugLog("max records to return reached", request.maxRecordsToReturn);
|
|
241
246
|
break;
|
|
242
247
|
}
|
|
243
248
|
}
|
|
@@ -254,6 +259,7 @@ class OPCUADiscoveryServer extends node_opcua_server_1.OPCUABaseServer {
|
|
|
254
259
|
callback(new Error("internal Error"));
|
|
255
260
|
});
|
|
256
261
|
}
|
|
262
|
+
// eslint-disable-next-line max-statements
|
|
257
263
|
__internalRegisterServer(RegisterServerXResponse /* RegisterServer2Response | RegisterServerResponse */, rawServer, discoveryConfigurations) {
|
|
258
264
|
return __awaiter(this, void 0, void 0, function* () {
|
|
259
265
|
const server = rawServer;
|
|
@@ -275,29 +281,33 @@ class OPCUADiscoveryServer extends node_opcua_server_1.OPCUABaseServer {
|
|
|
275
281
|
function _stop_announcedOnMulticastSubnet(conf) {
|
|
276
282
|
return __awaiter(this, void 0, void 0, function* () {
|
|
277
283
|
const b = conf.bonjourHolder;
|
|
278
|
-
yield b.
|
|
284
|
+
yield b.stopAnnnouncedOnMulticastSubnet();
|
|
279
285
|
conf.bonjourHolder = undefined;
|
|
280
286
|
});
|
|
281
287
|
}
|
|
282
288
|
function _announcedOnMulticastSubnet(conf, announcement) {
|
|
283
289
|
return __awaiter(this, void 0, void 0, function* () {
|
|
290
|
+
const serviceConfig = (0, node_opcua_service_discovery_1.announcementToServiceConfig)(announcement);
|
|
284
291
|
let b = conf.bonjourHolder;
|
|
285
|
-
if (b && b.
|
|
286
|
-
if ((0, node_opcua_service_discovery_1.
|
|
292
|
+
if (b && b.serviceConfig) {
|
|
293
|
+
if ((0, node_opcua_service_discovery_1.sameService)(b.serviceConfig, serviceConfig)) {
|
|
287
294
|
debugLog("Configuration ", conf.mdnsServerName, " has not changed !");
|
|
288
295
|
// nothing to do
|
|
289
296
|
return;
|
|
290
297
|
}
|
|
291
298
|
else {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
299
|
+
// istanbul ignore next
|
|
300
|
+
if (doDebug) {
|
|
301
|
+
debugLog("Configuration ", conf.mdnsServerName, " HAS changed !");
|
|
302
|
+
debugLog(" Was ", (0, node_opcua_service_discovery_1.serviceToString)(b.serviceConfig));
|
|
303
|
+
debugLog(" is ", announcement);
|
|
304
|
+
}
|
|
295
305
|
}
|
|
296
306
|
yield _stop_announcedOnMulticastSubnet(conf);
|
|
297
307
|
}
|
|
298
308
|
b = new node_opcua_service_discovery_1.BonjourHolder();
|
|
299
309
|
conf.bonjourHolder = b;
|
|
300
|
-
yield b.
|
|
310
|
+
yield b.announcedOnMulticastSubnet(announcement);
|
|
301
311
|
});
|
|
302
312
|
}
|
|
303
313
|
function dealWithDiscoveryConfiguration(previousConfMap, server1, serverInfo, discoveryConfiguration) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opcua_discovery_server.js","sourceRoot":"","sources":["../source/opcua_discovery_server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opcua_discovery_server.js","sourceRoot":"","sources":["../source/opcua_discovery_server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
}
|
|
2
|
+
"name": "node-opcua-server-discovery",
|
|
3
|
+
"version": "2.70.0",
|
|
4
|
+
"description": "pure nodejs OPCUA SDK - module -server-discovery",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@types/bonjour": "^3.5.10",
|
|
9
|
+
"node-opcua-assert": "2.66.0",
|
|
10
|
+
"node-opcua-basic-types": "2.70.0",
|
|
11
|
+
"node-opcua-certificate-manager": "2.70.0",
|
|
12
|
+
"node-opcua-common": "2.70.0",
|
|
13
|
+
"node-opcua-debug": "2.69.0",
|
|
14
|
+
"node-opcua-hostname": "2.67.0",
|
|
15
|
+
"node-opcua-object-registry": "2.69.0",
|
|
16
|
+
"node-opcua-pki": "^2.15.4",
|
|
17
|
+
"node-opcua-secure-channel": "2.70.0",
|
|
18
|
+
"node-opcua-server": "2.70.0",
|
|
19
|
+
"node-opcua-service-discovery": "2.70.0",
|
|
20
|
+
"node-opcua-service-endpoints": "2.70.0",
|
|
21
|
+
"node-opcua-status-code": "2.70.0",
|
|
22
|
+
"sterfive-bonjour-service": "1.1.4"
|
|
23
|
+
},
|
|
24
|
+
"author": "Etienne Rossignon",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git://github.com/node-opcua/node-opcua.git"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"OPCUA",
|
|
32
|
+
"opcua",
|
|
33
|
+
"m2m",
|
|
34
|
+
"iot",
|
|
35
|
+
"opc ua",
|
|
36
|
+
"internet of things"
|
|
37
|
+
],
|
|
38
|
+
"homepage": "http://node-opcua.github.io/",
|
|
39
|
+
"gitHead": "07dcdd8e8c7f2b55544c6e23023093e35674829c",
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsc -b",
|
|
42
|
+
"clean": "npx rimraf dist *.tsbuildinfo",
|
|
43
|
+
"test": "echo no test here : see node-opcua-end-to-end"
|
|
44
|
+
}
|
|
45
|
+
}
|
package/source/mdns_responder.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-server-discovery
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import { Service, Bonjour, Browser } from "sterfive-bonjour-service";
|
|
5
5
|
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
6
6
|
import { ObjectRegistry } from "node-opcua-object-registry";
|
|
7
|
-
import {
|
|
7
|
+
import { ServerOnNetwork, serviceToString } from "node-opcua-service-discovery";
|
|
8
8
|
|
|
9
9
|
const debugLog = make_debugLog(__filename);
|
|
10
10
|
const doDebug = checkDebugFlag(__filename) || true;
|
|
@@ -17,22 +17,21 @@ export class MDNSResponder {
|
|
|
17
17
|
*/
|
|
18
18
|
public registeredServers: ServerOnNetwork[];
|
|
19
19
|
|
|
20
|
-
private multicastDNS:
|
|
20
|
+
private multicastDNS: Bonjour;
|
|
21
|
+
private browser: Browser;
|
|
22
|
+
|
|
21
23
|
private recordId: number;
|
|
22
|
-
|
|
23
|
-
private lastUpdateDate: Date = new Date();
|
|
24
|
+
public lastUpdateDate: Date = new Date();
|
|
24
25
|
|
|
25
26
|
constructor() {
|
|
26
|
-
|
|
27
|
-
|
|
28
27
|
registry.register(this);
|
|
29
|
-
|
|
28
|
+
|
|
30
29
|
this.registeredServers = [];
|
|
31
30
|
|
|
32
|
-
this.multicastDNS =
|
|
31
|
+
this.multicastDNS = new Bonjour();
|
|
33
32
|
this.recordId = 0;
|
|
34
33
|
|
|
35
|
-
this.
|
|
34
|
+
this.browser = this.multicastDNS.find({
|
|
36
35
|
protocol: "tcp",
|
|
37
36
|
type: "opcua-tcp"
|
|
38
37
|
});
|
|
@@ -42,7 +41,7 @@ export class MDNSResponder {
|
|
|
42
41
|
return index;
|
|
43
42
|
};
|
|
44
43
|
|
|
45
|
-
const addService = (service:
|
|
44
|
+
const addService = (service: Service) => {
|
|
46
45
|
if (doDebug) {
|
|
47
46
|
debugLog("adding server ", service.name, "port =", service.port);
|
|
48
47
|
}
|
|
@@ -101,7 +100,7 @@ export class MDNSResponder {
|
|
|
101
100
|
debugLog("a new OPCUA server has been registered on mDNS", service.name, recordId);
|
|
102
101
|
};
|
|
103
102
|
|
|
104
|
-
const removeService = (service:
|
|
103
|
+
const removeService = (service: Service) => {
|
|
105
104
|
const serverName = service.name;
|
|
106
105
|
debugLog("a OPCUA server has been unregistered in mDNS", serverName);
|
|
107
106
|
const index = findServiceIndex(serverName);
|
|
@@ -113,24 +112,24 @@ export class MDNSResponder {
|
|
|
113
112
|
this.lastUpdateDate = new Date();
|
|
114
113
|
};
|
|
115
114
|
|
|
116
|
-
this.
|
|
115
|
+
this.browser.on("up", (service: Service) => {
|
|
117
116
|
if (doDebug) {
|
|
118
|
-
debugLog("service is up with ", service
|
|
117
|
+
debugLog("MDNSResponder : service is up with ", serviceToString(service));
|
|
119
118
|
}
|
|
120
119
|
addService(service);
|
|
121
120
|
});
|
|
122
121
|
|
|
123
|
-
this.
|
|
122
|
+
this.browser.on("down", (service: Service) => {
|
|
124
123
|
if (doDebug) {
|
|
125
|
-
debugLog("service is down with ", service
|
|
124
|
+
debugLog("MDNSResponder : service is down with ", serviceToString(service));
|
|
126
125
|
}
|
|
127
126
|
removeService(service);
|
|
128
127
|
});
|
|
129
128
|
}
|
|
130
129
|
|
|
131
130
|
public dispose() {
|
|
132
|
-
delete (this as any).multicastDNS;
|
|
131
|
+
// yy delete (this as any).multicastDNS;
|
|
132
|
+
this.multicastDNS.destroy();
|
|
133
133
|
registry.unregister(this);
|
|
134
|
-
releaseBonjour();
|
|
135
134
|
}
|
|
136
135
|
}
|
|
@@ -29,7 +29,9 @@ import {
|
|
|
29
29
|
RegisterServer2Response,
|
|
30
30
|
RegisterServerRequest,
|
|
31
31
|
RegisterServerResponse,
|
|
32
|
-
|
|
32
|
+
sameService,
|
|
33
|
+
serviceToString,
|
|
34
|
+
announcementToServiceConfig,
|
|
33
35
|
ServerOnNetwork
|
|
34
36
|
} from "node-opcua-service-discovery";
|
|
35
37
|
import { OPCUACertificateManager } from "node-opcua-certificate-manager";
|
|
@@ -42,11 +44,6 @@ import { MDNSResponder } from "./mdns_responder";
|
|
|
42
44
|
const debugLog = make_debugLog(__filename);
|
|
43
45
|
const doDebug = checkDebugFlag(__filename);
|
|
44
46
|
|
|
45
|
-
function constructFilename(p: string): string {
|
|
46
|
-
const filename = path.join(__dirname, "..", p);
|
|
47
|
-
return filename;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
47
|
function hasCapabilities(serverCapabilities: UAString[] | null, serverCapabilityFilter: string): boolean {
|
|
51
48
|
if (serverCapabilities == null) {
|
|
52
49
|
return true; // filter is empty => no filtering should take place
|
|
@@ -148,8 +145,8 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
148
145
|
}
|
|
149
146
|
|
|
150
147
|
public async start(): Promise<void>;
|
|
151
|
-
public start(
|
|
152
|
-
public start(
|
|
148
|
+
public start(callback: ErrorCallback): void;
|
|
149
|
+
public start(callback?: ErrorCallback): any {
|
|
153
150
|
assert(!this.mDnsResponder);
|
|
154
151
|
assert(Array.isArray(this.capabilitiesForMDNS));
|
|
155
152
|
|
|
@@ -159,11 +156,11 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
159
156
|
|
|
160
157
|
super.start((err?: Error | null) => {
|
|
161
158
|
if (err) {
|
|
162
|
-
return
|
|
159
|
+
return callback!(err);
|
|
163
160
|
}
|
|
164
161
|
this.mDnsResponder = new MDNSResponder();
|
|
165
162
|
// declare discovery server in bonjour
|
|
166
|
-
this.bonjourHolder.
|
|
163
|
+
this.bonjourHolder.announcedOnMulticastSubnetWithCallback(
|
|
167
164
|
{
|
|
168
165
|
capabilities: this.capabilitiesForMDNS,
|
|
169
166
|
name: this.serverInfo.applicationUri!,
|
|
@@ -171,28 +168,34 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
171
168
|
port: this.endpoints[0].port
|
|
172
169
|
},
|
|
173
170
|
(err2: Error | null) => {
|
|
174
|
-
|
|
171
|
+
callback!(err2!);
|
|
175
172
|
}
|
|
176
173
|
);
|
|
177
174
|
});
|
|
178
175
|
}
|
|
179
176
|
|
|
180
177
|
public async shutdown(): Promise<void>;
|
|
181
|
-
public shutdown(
|
|
182
|
-
public shutdown(
|
|
178
|
+
public shutdown(callback: ErrorCallback): void;
|
|
179
|
+
public shutdown(callback?: ErrorCallback): any {
|
|
183
180
|
debugLog("stopping announcement of LDS on mDNS");
|
|
184
|
-
|
|
181
|
+
|
|
182
|
+
if (this.mDnsResponder) {
|
|
183
|
+
this.mDnsResponder.dispose();
|
|
184
|
+
this.mDnsResponder = undefined;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
this.bonjourHolder.stopAnnouncedOnMulticastSubnetWithCallback((err?: Error | null) => {
|
|
185
188
|
if (err) {
|
|
186
189
|
console.log("Error ", err.message);
|
|
187
190
|
}
|
|
191
|
+
|
|
188
192
|
debugLog("stopping announcement of LDS on mDNS - DONE");
|
|
189
193
|
debugLog("Shutting down Discovery Server");
|
|
194
|
+
|
|
190
195
|
super.shutdown(() => {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
setTimeout(() => done!(), 10);
|
|
196
|
+
setTimeout(()=>{
|
|
197
|
+
callback!();
|
|
198
|
+
},100);
|
|
196
199
|
});
|
|
197
200
|
});
|
|
198
201
|
}
|
|
@@ -325,14 +328,28 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
325
328
|
|
|
326
329
|
if (this.mDnsResponder) {
|
|
327
330
|
for (const server of this.mDnsResponder.registeredServers) {
|
|
331
|
+
debugLog("Exploring server ", server.serverName);
|
|
332
|
+
|
|
328
333
|
if (server.recordId <= request.startingRecordId) {
|
|
329
334
|
continue;
|
|
330
335
|
}
|
|
331
336
|
if (!hasCapabilities(server.serverCapabilities, serverCapabilityFilter)) {
|
|
337
|
+
// istanbul ignore next
|
|
338
|
+
if (doDebug) {
|
|
339
|
+
debugLog(
|
|
340
|
+
" server ",
|
|
341
|
+
server.serverName,
|
|
342
|
+
server.serverCapabilities ? server.serverCapabilities.join(",") : [],
|
|
343
|
+
" does not match serverCapabilities ",
|
|
344
|
+
serverCapabilityFilter
|
|
345
|
+
);
|
|
346
|
+
}
|
|
332
347
|
continue;
|
|
333
348
|
}
|
|
349
|
+
debugLog(" server ", server.serverName, " found");
|
|
334
350
|
servers.push(server);
|
|
335
351
|
if (servers.length === request.maxRecordsToReturn) {
|
|
352
|
+
debugLog("max records to return reached", request.maxRecordsToReturn);
|
|
336
353
|
break;
|
|
337
354
|
}
|
|
338
355
|
}
|
|
@@ -344,7 +361,7 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
344
361
|
channel.send_response("MSG", response, message);
|
|
345
362
|
}
|
|
346
363
|
|
|
347
|
-
|
|
364
|
+
protected async __internalRegisterServerWithCallback(
|
|
348
365
|
RegisterServerXResponse: any /* RegisterServer2Response | RegisterServerResponse */,
|
|
349
366
|
rawServer: RegisteredServer,
|
|
350
367
|
discoveryConfigurations: MdnsDiscoveryConfiguration[] | undefined,
|
|
@@ -354,7 +371,8 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
354
371
|
callback(new Error("internal Error"));
|
|
355
372
|
}
|
|
356
373
|
|
|
357
|
-
|
|
374
|
+
// eslint-disable-next-line max-statements
|
|
375
|
+
protected async __internalRegisterServer(
|
|
358
376
|
RegisterServerXResponse: any /* RegisterServer2Response | RegisterServerResponse */,
|
|
359
377
|
rawServer: RegisteredServer,
|
|
360
378
|
discoveryConfigurations?: MdnsDiscoveryConfiguration[]
|
|
@@ -380,27 +398,32 @@ export class OPCUADiscoveryServer extends OPCUABaseServer {
|
|
|
380
398
|
|
|
381
399
|
async function _stop_announcedOnMulticastSubnet(conf: MdnsDiscoveryConfiguration): Promise<void> {
|
|
382
400
|
const b = (conf as any).bonjourHolder as BonjourHolder;
|
|
383
|
-
await b.
|
|
401
|
+
await b.stopAnnnouncedOnMulticastSubnet();
|
|
384
402
|
(conf as any).bonjourHolder = undefined;
|
|
385
403
|
}
|
|
386
404
|
|
|
387
405
|
async function _announcedOnMulticastSubnet(conf: MdnsDiscoveryConfiguration, announcement: Announcement): Promise<void> {
|
|
406
|
+
const serviceConfig = announcementToServiceConfig(announcement);
|
|
407
|
+
|
|
388
408
|
let b = (conf as any).bonjourHolder as BonjourHolder;
|
|
389
|
-
if (b && b.
|
|
390
|
-
if (
|
|
409
|
+
if (b && b.serviceConfig) {
|
|
410
|
+
if (sameService(b.serviceConfig, serviceConfig)) {
|
|
391
411
|
debugLog("Configuration ", conf.mdnsServerName, " has not changed !");
|
|
392
412
|
// nothing to do
|
|
393
413
|
return;
|
|
394
414
|
} else {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
415
|
+
// istanbul ignore next
|
|
416
|
+
if (doDebug) {
|
|
417
|
+
debugLog("Configuration ", conf.mdnsServerName, " HAS changed !");
|
|
418
|
+
debugLog(" Was ", serviceToString(b.serviceConfig));
|
|
419
|
+
debugLog(" is ", announcement);
|
|
420
|
+
}
|
|
398
421
|
}
|
|
399
422
|
await _stop_announcedOnMulticastSubnet(conf);
|
|
400
423
|
}
|
|
401
424
|
b = new BonjourHolder();
|
|
402
425
|
(conf as any).bonjourHolder = b;
|
|
403
|
-
await b.
|
|
426
|
+
await b.announcedOnMulticastSubnet(announcement);
|
|
404
427
|
}
|
|
405
428
|
|
|
406
429
|
async function dealWithDiscoveryConfiguration(
|