node-opcua-server 2.163.1 → 2.165.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.
Files changed (45) hide show
  1. package/dist/addressSpace_accessor.js +7 -5
  2. package/dist/addressSpace_accessor.js.map +1 -1
  3. package/dist/base_server.d.ts +95 -18
  4. package/dist/base_server.js +217 -69
  5. package/dist/base_server.js.map +1 -1
  6. package/dist/monitored_item.js +32 -32
  7. package/dist/monitored_item.js.map +1 -1
  8. package/dist/node_sampler.js +1 -1
  9. package/dist/node_sampler.js.map +1 -1
  10. package/dist/opcua_server.d.ts +171 -123
  11. package/dist/opcua_server.js +466 -223
  12. package/dist/opcua_server.js.map +1 -1
  13. package/dist/register_server_manager.d.ts +2 -2
  14. package/dist/register_server_manager.js +12 -6
  15. package/dist/register_server_manager.js.map +1 -1
  16. package/dist/register_server_manager_mdns_only.js +1 -1
  17. package/dist/register_server_manager_mdns_only.js.map +1 -1
  18. package/dist/server_end_point.d.ts +108 -12
  19. package/dist/server_end_point.js +157 -57
  20. package/dist/server_end_point.js.map +1 -1
  21. package/dist/server_engine.d.ts +32 -14
  22. package/dist/server_engine.js +160 -59
  23. package/dist/server_engine.js.map +1 -1
  24. package/dist/server_publish_engine.js +5 -5
  25. package/dist/server_publish_engine.js.map +1 -1
  26. package/dist/server_session.js +4 -4
  27. package/dist/server_session.js.map +1 -1
  28. package/dist/server_subscription.js +18 -18
  29. package/dist/server_subscription.js.map +1 -1
  30. package/dist/sessions_compatible_for_transfer.js +1 -1
  31. package/dist/sessions_compatible_for_transfer.js.map +1 -1
  32. package/package.json +47 -47
  33. package/source/addressSpace_accessor.ts +6 -3
  34. package/source/base_server.ts +252 -90
  35. package/source/monitored_item.ts +32 -32
  36. package/source/node_sampler.ts +1 -1
  37. package/source/opcua_server.ts +674 -489
  38. package/source/register_server_manager.ts +11 -5
  39. package/source/register_server_manager_mdns_only.ts +1 -1
  40. package/source/server_end_point.ts +278 -94
  41. package/source/server_engine.ts +246 -135
  42. package/source/server_publish_engine.ts +5 -5
  43. package/source/server_session.ts +4 -4
  44. package/source/server_subscription.ts +18 -18
  45. package/source/sessions_compatible_for_transfer.ts +4 -2
@@ -1,4 +1,4 @@
1
- /**
1
+ /**
2
2
  * @module node-opcua-server
3
3
  */
4
4
  // tslint:disable:no-console
@@ -112,8 +112,8 @@ function constructRegisteredServer(server: IPartialServer, isOnline: boolean): R
112
112
  const info = exploreCertificate(server.getCertificate());
113
113
  const commonName = info.tbsCertificate.subject.commonName!;
114
114
 
115
- const serverUri = info.tbsCertificate.extensions?.subjectAltName.uniformResourceIdentifier[0];
116
- // istanbul ignore next
115
+ const serverUri = info.tbsCertificate.extensions?.subjectAltName?.uniformResourceIdentifier[0];
116
+ // c8 ignore next
117
117
  if (serverUri !== server.serverInfo.applicationUri) {
118
118
  warningLog(
119
119
  chalk.yellow("Warning certificate uniformResourceIdentifier doesn't match serverInfo.applicationUri"),
@@ -128,7 +128,7 @@ function constructRegisteredServer(server: IPartialServer, isOnline: boolean): R
128
128
  );
129
129
  }
130
130
 
131
- // istanbul ignore next
131
+ // c8 ignore next
132
132
  if (!server.serverInfo.applicationName.text) {
133
133
  debugLog("warning: application name is missing");
134
134
  }
@@ -403,7 +403,11 @@ export class RegisterServerManager extends EventEmitter implements IRegisterServ
403
403
  if (!this.#_isTerminating()) {
404
404
  this.#_setState(RegisterServerManagerStatus.INACTIVE);
405
405
  this.#_emitEvent("serverRegistrationFailure");
406
- await pause(Math.min(5000, this.timeout));
406
+ // interruptible pause: check for shutdown every 100ms
407
+ const delay = Math.min(5000, this.timeout);
408
+ for (let elapsed = 0; elapsed < delay && !this.#_isTerminating(); elapsed += 100) {
409
+ await pause(100);
410
+ }
407
411
  }
408
412
  }
409
413
  }
@@ -513,6 +517,7 @@ export class RegisterServerManager extends EventEmitter implements IRegisterServ
513
517
  warningLog("RegisterServerManager#_establish_initial_connection: error disconnecting client", err);
514
518
  }
515
519
  }
520
+ server.serverCertificateManager.referenceCounter--;
516
521
  }
517
522
  }
518
523
 
@@ -681,6 +686,7 @@ export class RegisterServerManager extends EventEmitter implements IRegisterServ
681
686
  this._registration_client = null;
682
687
  await tmp.disconnect();
683
688
  }
689
+ server.serverCertificateManager.referenceCounter--;
684
690
  }
685
691
  }
686
692
 
@@ -40,7 +40,7 @@ export class RegisterServerManagerMDNSONLY extends EventEmitter implements IRegi
40
40
  }
41
41
 
42
42
  public async start(): Promise<void> {
43
- // istanbul ignore next
43
+ // c8 ignore next
44
44
  if (!this.server) {
45
45
  throw new Error("internal error");
46
46
  }