node-opcua-server 2.156.0 → 2.158.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/addressSpace_accessor.js +1 -0
- package/dist/addressSpace_accessor.js.map +1 -1
- package/dist/base_server.js +7 -1
- package/dist/base_server.js.map +1 -1
- package/dist/factory.js +1 -0
- package/dist/factory.js.map +1 -1
- package/dist/history_server_capabilities.js +14 -0
- package/dist/history_server_capabilities.js.map +1 -1
- package/dist/i_register_server_manager.d.ts +63 -3
- package/dist/i_register_server_manager.js +47 -0
- package/dist/i_register_server_manager.js.map +1 -1
- package/dist/i_server_side_publish_engine.js +4 -0
- package/dist/i_server_side_publish_engine.js.map +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/monitored_item.d.ts +3 -6
- package/dist/monitored_item.js +44 -17
- package/dist/monitored_item.js.map +1 -1
- package/dist/opcua_server.js +44 -26
- package/dist/opcua_server.js.map +1 -1
- package/dist/queue.js +2 -1
- package/dist/queue.js.map +1 -1
- package/dist/register_server_manager.d.ts +14 -26
- package/dist/register_server_manager.js +282 -293
- package/dist/register_server_manager.js.map +1 -1
- package/dist/register_server_manager_hidden.d.ts +4 -3
- package/dist/register_server_manager_hidden.js +7 -5
- package/dist/register_server_manager_hidden.js.map +1 -1
- package/dist/register_server_manager_mdns_only.d.ts +5 -3
- package/dist/register_server_manager_mdns_only.js +25 -14
- package/dist/register_server_manager_mdns_only.js.map +1 -1
- package/dist/server_capabilities.js +33 -0
- package/dist/server_capabilities.js.map +1 -1
- package/dist/server_end_point.js +29 -3
- package/dist/server_end_point.js.map +1 -1
- package/dist/server_engine.js +20 -3
- package/dist/server_engine.js.map +1 -1
- package/dist/server_publish_engine.js +95 -98
- package/dist/server_publish_engine.js.map +1 -1
- package/dist/server_session.js +33 -5
- package/dist/server_session.js.map +1 -1
- package/dist/server_subscription.js +70 -15
- package/dist/server_subscription.js.map +1 -1
- package/dist/user_manager.js +1 -0
- package/dist/user_manager.js.map +1 -1
- package/package.json +49 -47
- package/source/i_register_server_manager.ts +66 -5
- package/source/index.ts +22 -0
- package/source/monitored_item.ts +28 -19
- package/source/opcua_server.ts +33 -23
- package/source/register_server_manager.ts +294 -354
- package/source/register_server_manager_hidden.ts +6 -5
- package/source/register_server_manager_mdns_only.ts +25 -14
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module node-opcua-server
|
|
3
3
|
*/
|
|
4
4
|
import { EventEmitter } from "events";
|
|
5
|
-
import { IRegisterServerManager } from "./i_register_server_manager";
|
|
5
|
+
import { IRegisterServerManager, RegisterServerManagerStatus } from "./i_register_server_manager";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* a IRegisterServerManager that hides the server from any local discover server
|
|
@@ -17,15 +17,16 @@ export class RegisterServerManagerHidden extends EventEmitter implements IRegist
|
|
|
17
17
|
super();
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
public stop(
|
|
21
|
-
setImmediate(callback);
|
|
20
|
+
public async stop(): Promise<void> {
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
public start(
|
|
25
|
-
setImmediate(callback);
|
|
23
|
+
public async start(): Promise<void> {
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
public dispose(): void {
|
|
29
27
|
//
|
|
30
28
|
}
|
|
29
|
+
public getState(): RegisterServerManagerStatus {
|
|
30
|
+
return RegisterServerManagerStatus.NOT_APPLICABLE;
|
|
31
|
+
}
|
|
31
32
|
}
|
|
@@ -7,7 +7,7 @@ import { EventEmitter } from "events";
|
|
|
7
7
|
import { assert } from "node-opcua-assert";
|
|
8
8
|
import { BonjourHolder } from "node-opcua-service-discovery";
|
|
9
9
|
import { OPCUABaseServer } from "./base_server";
|
|
10
|
-
import { IRegisterServerManager } from "./i_register_server_manager";
|
|
10
|
+
import { IRegisterServerManager, RegisterServerManagerStatus } from "./i_register_server_manager";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* a RegisterServerManager that declare the server the OPCUA Bonjour service
|
|
@@ -18,6 +18,7 @@ export class RegisterServerManagerMDNSONLY extends EventEmitter implements IRegi
|
|
|
18
18
|
|
|
19
19
|
private server?: OPCUABaseServer;
|
|
20
20
|
private bonjour: BonjourHolder;
|
|
21
|
+
private _state: RegisterServerManagerStatus = RegisterServerManagerStatus.NOT_APPLICABLE;
|
|
21
22
|
|
|
22
23
|
constructor(options: { server: OPCUABaseServer }) {
|
|
23
24
|
super();
|
|
@@ -25,18 +26,20 @@ export class RegisterServerManagerMDNSONLY extends EventEmitter implements IRegi
|
|
|
25
26
|
assert(this.server);
|
|
26
27
|
assert(this.server instanceof OPCUABaseServer);
|
|
27
28
|
this.bonjour = new BonjourHolder();
|
|
29
|
+
this._state = RegisterServerManagerStatus.INITIALIZING;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
public stop(
|
|
32
|
+
public async stop(): Promise<void> {
|
|
31
33
|
if (this.bonjour) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
|
|
35
|
+
this._state = RegisterServerManagerStatus.UNREGISTERING;
|
|
36
|
+
await this.bonjour.stopAnnouncedOnMulticastSubnet();
|
|
37
|
+
this.emit("serverUnregistered");
|
|
38
|
+
this._state = RegisterServerManagerStatus.INACTIVE;
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
public start(
|
|
42
|
+
public async start(): Promise<void> {
|
|
40
43
|
// istanbul ignore next
|
|
41
44
|
if (!this.server) {
|
|
42
45
|
throw new Error("internal error");
|
|
@@ -44,16 +47,21 @@ export class RegisterServerManagerMDNSONLY extends EventEmitter implements IRegi
|
|
|
44
47
|
assert(this.server instanceof OPCUABaseServer);
|
|
45
48
|
|
|
46
49
|
const host = "TODO-find how to extract hostname";
|
|
47
|
-
this.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
const capabilities = this.server.capabilitiesForMDNS;
|
|
51
|
+
const name = this.server.serverInfo.applicationUri!;
|
|
52
|
+
const port = this.server.endpoints[0].port;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
this._state = RegisterServerManagerStatus.REGISTERING;
|
|
56
|
+
await this.bonjour.announcedOnMulticastSubnet({
|
|
57
|
+
capabilities: capabilities,
|
|
58
|
+
name: name,
|
|
50
59
|
path: "/", // <- to do
|
|
51
60
|
host,
|
|
52
|
-
port:
|
|
53
|
-
}, ()=>{
|
|
54
|
-
this.emit("serverRegistered");
|
|
55
|
-
setImmediate(callback);
|
|
61
|
+
port: port
|
|
56
62
|
});
|
|
63
|
+
this._state = RegisterServerManagerStatus.WAITING;
|
|
64
|
+
this.emit("serverRegistered");
|
|
57
65
|
}
|
|
58
66
|
|
|
59
67
|
public dispose(): void {
|
|
@@ -61,4 +69,7 @@ export class RegisterServerManagerMDNSONLY extends EventEmitter implements IRegi
|
|
|
61
69
|
assert(this.server);
|
|
62
70
|
this.server = undefined;
|
|
63
71
|
}
|
|
72
|
+
public getState(): RegisterServerManagerStatus {
|
|
73
|
+
return this._state;
|
|
74
|
+
}
|
|
64
75
|
}
|