node-opcua-server 2.53.0 → 2.56.1

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.
Files changed (75) hide show
  1. package/LICENSE +20 -20
  2. package/dist/base_server.js +12 -14
  3. package/dist/base_server.js.map +1 -1
  4. package/dist/factory.d.ts +4 -2
  5. package/dist/factory.js.map +1 -1
  6. package/dist/history_server_capabilities.js.map +1 -1
  7. package/dist/i_server_side_publish_engine.d.ts +1 -1
  8. package/dist/i_server_side_publish_engine.js +1 -1
  9. package/dist/i_server_side_publish_engine.js.map +1 -1
  10. package/dist/monitored_item.d.ts +3 -0
  11. package/dist/monitored_item.js +7 -14
  12. package/dist/monitored_item.js.map +1 -1
  13. package/dist/node_sampler.js +1 -1
  14. package/dist/node_sampler.js.map +1 -1
  15. package/dist/opcua_server.d.ts +29 -44
  16. package/dist/opcua_server.js +218 -262
  17. package/dist/opcua_server.js.map +1 -1
  18. package/dist/queue.js +1 -0
  19. package/dist/queue.js.map +1 -1
  20. package/dist/register_server_manager.d.ts +4 -1
  21. package/dist/register_server_manager.js +5 -5
  22. package/dist/register_server_manager.js.map +1 -1
  23. package/dist/register_server_manager_hidden.d.ts +1 -1
  24. package/dist/register_server_manager_hidden.js.map +1 -1
  25. package/dist/register_server_manager_mdns_only.d.ts +4 -1
  26. package/dist/register_server_manager_mdns_only.js +1 -1
  27. package/dist/register_server_manager_mdns_only.js.map +1 -1
  28. package/dist/server_capabilities.js.map +1 -1
  29. package/dist/server_end_point.d.ts +4 -1
  30. package/dist/server_end_point.js +10 -11
  31. package/dist/server_end_point.js.map +1 -1
  32. package/dist/server_engine.d.ts +11 -7
  33. package/dist/server_engine.js +72 -74
  34. package/dist/server_engine.js.map +1 -1
  35. package/dist/server_publish_engine.d.ts +4 -1
  36. package/dist/server_publish_engine.js +5 -5
  37. package/dist/server_publish_engine.js.map +1 -1
  38. package/dist/server_publish_engine_for_orphan_subscriptions.d.ts +2 -2
  39. package/dist/server_publish_engine_for_orphan_subscriptions.js.map +1 -1
  40. package/dist/server_session.d.ts +1 -1
  41. package/dist/server_session.js +24 -29
  42. package/dist/server_session.js.map +1 -1
  43. package/dist/server_subscription.d.ts +3 -1
  44. package/dist/server_subscription.js +6 -6
  45. package/dist/server_subscription.js.map +1 -1
  46. package/dist/sessions_compatible_for_transfer.js +2 -1
  47. package/dist/sessions_compatible_for_transfer.js.map +1 -1
  48. package/dist/validate_filter.js +4 -7
  49. package/dist/validate_filter.js.map +1 -1
  50. package/package.json +45 -44
  51. package/source/base_server.ts +19 -22
  52. package/source/factory.ts +5 -2
  53. package/source/history_server_capabilities.ts +3 -4
  54. package/source/i_channel_data.ts +4 -8
  55. package/source/i_register_server_manager.ts +0 -3
  56. package/source/i_server_side_publish_engine.ts +5 -6
  57. package/source/i_socket_data.ts +1 -1
  58. package/source/index.ts +14 -14
  59. package/source/monitored_item.ts +32 -44
  60. package/source/node_sampler.ts +82 -82
  61. package/source/opcua_server.ts +326 -357
  62. package/source/queue.ts +6 -7
  63. package/source/register_server_manager.ts +35 -23
  64. package/source/register_server_manager_hidden.ts +8 -10
  65. package/source/register_server_manager_mdns_only.ts +8 -13
  66. package/source/server_capabilities.ts +0 -5
  67. package/source/server_end_point.ts +28 -30
  68. package/source/server_engine.ts +122 -122
  69. package/source/server_publish_engine.ts +24 -21
  70. package/source/server_publish_engine_for_orphan_subscriptions.ts +26 -26
  71. package/source/server_session.ts +44 -49
  72. package/source/server_subscription.ts +23 -23
  73. package/source/sessions_compatible_for_transfer.ts +26 -25
  74. package/source/validate_filter.ts +8 -22
  75. package/test_helpers/create_certificates.js +1 -1
@@ -1,82 +1,82 @@
1
- /**
2
- * @module node-opcua-server
3
- */
4
- import { assert } from "node-opcua-assert";
5
- import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
6
- import hrtime = require("browser-process-hrtime");
7
-
8
- const debugLog = make_debugLog(__filename);
9
- const doDebug = checkDebugFlag(__filename);
10
-
11
- import { MonitoredItem } from "./monitored_item";
12
-
13
- const timers: any = {};
14
- const NS_PER_SEC = 1e9;
15
-
16
- function sampleMonitoredItem(monitoredItem: MonitoredItem) {
17
- const _monitoredItem = monitoredItem;
18
- setImmediate(() => {
19
- (_monitoredItem as any)._on_sampling_timer();
20
- });
21
- }
22
-
23
- export function appendToTimer(monitoredItem: MonitoredItem): string {
24
- const samplingInterval = monitoredItem.samplingInterval;
25
- const key = samplingInterval.toString();
26
- assert(samplingInterval > 0);
27
- let _t = timers[key];
28
- if (!_t) {
29
- _t = {
30
- _samplingId: false,
31
- monitoredItems: {},
32
- monitoredItemsCount: 0
33
- };
34
-
35
- _t._samplingId = setInterval(() => {
36
- const start = doDebug ? hrtime() : undefined;
37
- let counter = 0;
38
- for (const m in _t.monitoredItems) {
39
- if (_t.monitoredItems.hasOwnProperty(m)) {
40
- sampleMonitoredItem(_t.monitoredItems[m]);
41
- counter++;
42
- }
43
- }
44
- if (doDebug) {
45
- const elapsed = hrtime(start);
46
- debugLog(
47
- `Sampler ${samplingInterval} ms : Benchmark took ${(
48
- (elapsed[0] * NS_PER_SEC + elapsed[1]) /
49
- 1000 /
50
- 1000.0
51
- ).toFixed(3)} milliseconds for ${counter} elements`
52
- );
53
- }
54
- }, samplingInterval);
55
- timers[key] = _t;
56
- }
57
- assert(!_t.monitoredItems[monitoredItem.monitoredItemId]);
58
- _t.monitoredItems[monitoredItem.monitoredItemId] = monitoredItem;
59
- _t.monitoredItemsCount++;
60
- return key;
61
- }
62
-
63
- export function removeFromTimer(monitoredItem: MonitoredItem) {
64
- const samplingInterval = monitoredItem.samplingInterval;
65
- assert(samplingInterval > 0);
66
- assert(typeof monitoredItem._samplingId === "string");
67
- const key = monitoredItem._samplingId as string;
68
- const _t = timers[key];
69
- if (!_t) {
70
- debugLog("cannot find common timer for samplingInterval", key);
71
- return;
72
- }
73
- assert(_t);
74
- assert(_t.monitoredItems[monitoredItem.monitoredItemId]);
75
- delete _t.monitoredItems[monitoredItem.monitoredItemId];
76
- _t.monitoredItemsCount--;
77
- assert(_t.monitoredItemsCount >= 0);
78
- if (_t.monitoredItemsCount === 0) {
79
- clearInterval(_t._samplingId);
80
- delete timers[key];
81
- }
82
- }
1
+ /**
2
+ * @module node-opcua-server
3
+ */
4
+ import { assert } from "node-opcua-assert";
5
+ import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
6
+ import hrtime = require("browser-process-hrtime");
7
+
8
+ const debugLog = make_debugLog(__filename);
9
+ const doDebug = checkDebugFlag(__filename);
10
+
11
+ import { MonitoredItem } from "./monitored_item";
12
+
13
+ const timers: any = {};
14
+ const NS_PER_SEC = 1e9;
15
+
16
+ function sampleMonitoredItem(monitoredItem: MonitoredItem) {
17
+ const _monitoredItem = monitoredItem;
18
+ setImmediate(() => {
19
+ (_monitoredItem as any)._on_sampling_timer();
20
+ });
21
+ }
22
+
23
+ export function appendToTimer(monitoredItem: MonitoredItem): string {
24
+ const samplingInterval = monitoredItem.samplingInterval;
25
+ const key = samplingInterval.toString();
26
+ assert(samplingInterval > 0);
27
+ let _t = timers[key];
28
+ if (!_t) {
29
+ _t = {
30
+ _samplingId: false,
31
+ monitoredItems: {},
32
+ monitoredItemsCount: 0
33
+ };
34
+
35
+ _t._samplingId = setInterval(() => {
36
+ const start = doDebug ? hrtime() : undefined;
37
+ let counter = 0;
38
+ for (const m in _t.monitoredItems) {
39
+ if (Object.prototype.hasOwnProperty.call(_t.monitoredItems, m)) {
40
+ sampleMonitoredItem(_t.monitoredItems[m]);
41
+ counter++;
42
+ }
43
+ }
44
+ if (doDebug) {
45
+ const elapsed = hrtime(start);
46
+ debugLog(
47
+ `Sampler ${samplingInterval} ms : Benchmark took ${(
48
+ (elapsed[0] * NS_PER_SEC + elapsed[1]) /
49
+ 1000 /
50
+ 1000.0
51
+ ).toFixed(3)} milliseconds for ${counter} elements`
52
+ );
53
+ }
54
+ }, samplingInterval);
55
+ timers[key] = _t;
56
+ }
57
+ assert(!_t.monitoredItems[monitoredItem.monitoredItemId]);
58
+ _t.monitoredItems[monitoredItem.monitoredItemId] = monitoredItem;
59
+ _t.monitoredItemsCount++;
60
+ return key;
61
+ }
62
+
63
+ export function removeFromTimer(monitoredItem: MonitoredItem): void {
64
+ const samplingInterval = monitoredItem.samplingInterval;
65
+ assert(samplingInterval > 0);
66
+ assert(typeof monitoredItem._samplingId === "string");
67
+ const key = monitoredItem._samplingId as string;
68
+ const _t = timers[key];
69
+ if (!_t) {
70
+ debugLog("cannot find common timer for samplingInterval", key);
71
+ return;
72
+ }
73
+ assert(_t);
74
+ assert(_t.monitoredItems[monitoredItem.monitoredItemId]);
75
+ delete _t.monitoredItems[monitoredItem.monitoredItemId];
76
+ _t.monitoredItemsCount--;
77
+ assert(_t.monitoredItemsCount >= 0);
78
+ if (_t.monitoredItemsCount === 0) {
79
+ clearInterval(_t._samplingId);
80
+ delete timers[key];
81
+ }
82
+ }