node-opcua-client 2.127.1 → 2.129.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 (43) hide show
  1. package/dist/client_base.d.ts +5 -1
  2. package/dist/client_base.js.map +1 -1
  3. package/dist/opcua_client.d.ts +6 -0
  4. package/dist/opcua_client.js.map +1 -1
  5. package/dist/private/client_base_impl.d.ts +2 -2
  6. package/dist/private/client_base_impl.js +6 -6
  7. package/dist/private/client_base_impl.js.map +1 -1
  8. package/dist/private/client_publish_engine.js +7 -5
  9. package/dist/private/client_publish_engine.js.map +1 -1
  10. package/dist/private/client_session_impl.d.ts +12 -6
  11. package/dist/private/client_session_impl.js +49 -40
  12. package/dist/private/client_session_impl.js.map +1 -1
  13. package/dist/private/opcua_client_impl.d.ts +2 -4
  14. package/dist/private/opcua_client_impl.js +2 -4
  15. package/dist/private/opcua_client_impl.js.map +1 -1
  16. package/dist/private/reconnection/reconnection.js +22 -9
  17. package/dist/private/reconnection/reconnection.js.map +1 -1
  18. package/package.json +43 -46
  19. package/source/client_base.ts +5 -1
  20. package/source/opcua_client.ts +8 -0
  21. package/source/private/client_base_impl.ts +11 -9
  22. package/source/private/client_publish_engine.ts +7 -6
  23. package/source/private/client_session_impl.ts +33 -40
  24. package/source/private/opcua_client_impl.ts +5 -4
  25. package/source/private/reconnection/reconnection.ts +35 -23
  26. package/dist/alarms_and_conditions/client_alarm.d.ts +0 -49
  27. package/dist/alarms_and_conditions/client_alarm.js +0 -97
  28. package/dist/alarms_and_conditions/client_alarm.js.map +0 -1
  29. package/dist/alarms_and_conditions/client_alarm_list.d.ts +0 -25
  30. package/dist/alarms_and_conditions/client_alarm_list.js +0 -98
  31. package/dist/alarms_and_conditions/client_alarm_list.js.map +0 -1
  32. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.d.ts +0 -18
  33. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +0 -175
  34. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js.map +0 -1
  35. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.d.ts +0 -9
  36. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +0 -60
  37. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +0 -1
  38. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.d.ts +0 -3
  39. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +0 -15
  40. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js.map +0 -1
  41. package/dist/reconnection.d.ts +0 -9
  42. package/dist/reconnection.js +0 -453
  43. package/dist/reconnection.js.map +0 -1
@@ -219,11 +219,13 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
219
219
  const subscription = session.getPublishEngine().getSubscription(subscriptionId);
220
220
  doDebug && debugLog(chalk_1.default.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
221
221
  (0, node_opcua_assert_1.assert)(subscription.session === newSession, "must have the new session");
222
- (0, client_subscription_reconnection_1.recreateSubscriptionAndMonitoredItem)(subscription).then(() => {
222
+ (0, client_subscription_reconnection_1.recreateSubscriptionAndMonitoredItem)(subscription)
223
+ .then(() => {
223
224
  doDebug &&
224
225
  debugLog(chalk_1.default.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE subscriptionId="), subscriptionId);
225
226
  next();
226
- }).catch((err) => {
227
+ })
228
+ .catch((err) => {
227
229
  doDebug && debugLog("_recreateSubscription failed !" + err.message);
228
230
  next();
229
231
  });
@@ -313,7 +315,8 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
313
315
  innerCallback();
314
316
  return;
315
317
  }
316
- client.beforeSubscriptionRecreate(newSession)
318
+ client
319
+ .beforeSubscriptionRecreate(newSession)
317
320
  .then((err) => {
318
321
  {
319
322
  const err = _shouldNotContinue(session);
@@ -328,7 +331,9 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
328
331
  innerCallback(err);
329
332
  }
330
333
  })
331
- .catch((err) => { innerCallback(err); });
334
+ .catch((err) => {
335
+ innerCallback(err);
336
+ });
332
337
  },
333
338
  function attempt_subscription_transfer(innerCallback) {
334
339
  // prettier-ignore
@@ -501,7 +506,7 @@ function repair_client_session(client, session, callback) {
501
506
  }
502
507
  privateSession._reconnecting.reconnecting = true;
503
508
  // get old transaction queue ...
504
- const transactionQueue = privateSession.pendingTransactions ? privateSession.pendingTransactions.splice(0) : [];
509
+ const transactionQueue = privateSession._reconnecting.pendingTransactions.splice(0);
505
510
  const repeatedAction = (callback) => {
506
511
  // prettier-ignore
507
512
  {
@@ -524,6 +529,13 @@ function repair_client_session(client, session, callback) {
524
529
  const delay = 2000;
525
530
  errorLog(chalk_1.default.red(`... will retry session repair... in ${delay} ms`));
526
531
  setTimeout(() => {
532
+ {
533
+ const err = _shouldNotContinue(session);
534
+ if (err) {
535
+ warningLog("cancelling session repair");
536
+ return callback(err);
537
+ }
538
+ }
527
539
  errorLog(chalk_1.default.red("Retrying session repair..."));
528
540
  repeatedAction(callback);
529
541
  }, delay);
@@ -544,12 +556,13 @@ function repair_client_session(client, session, callback) {
544
556
  };
545
557
  repeatedAction((err) => {
546
558
  privateSession._reconnecting.reconnecting = false;
547
- const otherCallbacks = privateSession._reconnecting.pendingCallbacks;
548
- privateSession._reconnecting.pendingCallbacks = [];
559
+ const otherCallbacks = privateSession._reconnecting.pendingCallbacks.splice(0);
549
560
  // re-inject element in queue
550
561
  // istanbul ignore next
551
- doDebug && debugLog(chalk_1.default.yellow("re-injecting transaction queue"), transactionQueue.length);
552
- transactionQueue.forEach((e) => privateSession.pendingTransactions.push(e));
562
+ if (transactionQueue.length > 0) {
563
+ doDebug && debugLog(chalk_1.default.yellow("re-injecting transaction queue"), transactionQueue.length);
564
+ transactionQueue.forEach((e) => privateSession._reconnecting.pendingTransactions.push(e));
565
+ }
553
566
  otherCallbacks.forEach((c) => c(err));
554
567
  callback(err);
555
568
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reconnection.js","sourceRoot":"","sources":["../../../source/private/reconnection/reconnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconnection.js","sourceRoot":"","sources":["../../../source/private/reconnection/reconnection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-client",
3
- "version": "2.127.1",
3
+ "version": "2.129.0",
4
4
  "description": "pure nodejs OPCUA SDK - module client",
5
5
  "scripts": {
6
6
  "clean": "npx rimraf node_modules dist *.tsbuildinfo certificates",
@@ -17,58 +17,55 @@
17
17
  "@types/async": "^3.2.24",
18
18
  "async": "^3.2.5",
19
19
  "chalk": "4.1.2",
20
- "node-opcua-alarm-condition": "2.127.1",
20
+ "node-opcua-alarm-condition": "2.129.0",
21
21
  "node-opcua-assert": "2.120.0",
22
- "node-opcua-basic-types": "2.126.0",
23
- "node-opcua-buffer-utils": "2.125.0",
24
- "node-opcua-certificate-manager": "2.125.0",
25
- "node-opcua-client-dynamic-extension-object": "2.127.1",
26
- "node-opcua-common": "2.126.0",
22
+ "node-opcua-basic-types": "2.128.0",
23
+ "node-opcua-buffer-utils": "2.128.0",
24
+ "node-opcua-certificate-manager": "2.129.0",
25
+ "node-opcua-client-dynamic-extension-object": "2.129.0",
26
+ "node-opcua-common": "2.129.0",
27
27
  "node-opcua-constants": "2.125.0",
28
- "node-opcua-crypto": "4.8.0",
29
- "node-opcua-data-model": "2.126.0",
30
- "node-opcua-data-value": "2.126.0",
31
- "node-opcua-date-time": "2.125.0",
32
- "node-opcua-debug": "2.125.0",
33
- "node-opcua-extension-object": "2.126.0",
34
- "node-opcua-hostname": "2.120.0",
35
- "node-opcua-nodeid": "2.125.0",
36
- "node-opcua-object-registry": "2.125.0",
37
- "node-opcua-pki": "4.10.0",
38
- "node-opcua-pseudo-session": "2.127.1",
39
- "node-opcua-schemas": "2.126.0",
40
- "node-opcua-secure-channel": "2.126.0",
41
- "node-opcua-service-browse": "2.126.0",
42
- "node-opcua-service-call": "2.126.0",
43
- "node-opcua-service-discovery": "2.126.0",
44
- "node-opcua-service-endpoints": "2.126.0",
45
- "node-opcua-service-filter": "2.126.0",
46
- "node-opcua-service-history": "2.126.0",
47
- "node-opcua-service-query": "2.126.0",
48
- "node-opcua-service-read": "2.126.0",
49
- "node-opcua-service-register-node": "2.126.0",
50
- "node-opcua-service-secure-channel": "2.126.0",
51
- "node-opcua-service-session": "2.126.0",
52
- "node-opcua-service-subscription": "2.126.0",
53
- "node-opcua-service-translate-browse-path": "2.126.0",
54
- "node-opcua-service-write": "2.126.0",
55
- "node-opcua-status-code": "2.125.0",
56
- "node-opcua-types": "2.126.0",
57
- "node-opcua-utils": "2.125.0",
58
- "node-opcua-variant": "2.126.0",
28
+ "node-opcua-crypto": "4.9.2",
29
+ "node-opcua-data-model": "2.128.0",
30
+ "node-opcua-data-value": "2.129.0",
31
+ "node-opcua-date-time": "2.128.0",
32
+ "node-opcua-debug": "2.128.0",
33
+ "node-opcua-extension-object": "2.128.0",
34
+ "node-opcua-hostname": "2.128.0",
35
+ "node-opcua-nodeid": "2.128.0",
36
+ "node-opcua-object-registry": "2.128.0",
37
+ "node-opcua-pki": "4.11.1",
38
+ "node-opcua-pseudo-session": "2.129.0",
39
+ "node-opcua-schemas": "2.129.0",
40
+ "node-opcua-secure-channel": "2.129.0",
41
+ "node-opcua-service-browse": "2.129.0",
42
+ "node-opcua-service-call": "2.129.0",
43
+ "node-opcua-service-discovery": "2.129.0",
44
+ "node-opcua-service-endpoints": "2.129.0",
45
+ "node-opcua-service-filter": "2.129.0",
46
+ "node-opcua-service-history": "2.129.0",
47
+ "node-opcua-service-query": "2.129.0",
48
+ "node-opcua-service-read": "2.129.0",
49
+ "node-opcua-service-register-node": "2.129.0",
50
+ "node-opcua-service-secure-channel": "2.129.0",
51
+ "node-opcua-service-session": "2.129.0",
52
+ "node-opcua-service-subscription": "2.129.0",
53
+ "node-opcua-service-translate-browse-path": "2.129.0",
54
+ "node-opcua-service-write": "2.129.0",
55
+ "node-opcua-status-code": "2.128.0",
56
+ "node-opcua-types": "2.129.0",
57
+ "node-opcua-utils": "2.128.0",
58
+ "node-opcua-variant": "2.129.0",
59
59
  "thenify": "^3.3.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/underscore": "^1.11.15",
63
63
  "dequeue": "^1.0.5",
64
- "mocha": "^10.4.0",
65
- "node-opcua-address-space": "2.127.1",
66
- "node-opcua-binary-stream": "2.125.0",
67
- "node-opcua-factory": "2.126.0",
68
- "node-opcua-leak-detector": "2.125.0",
64
+ "node-opcua-address-space": "2.129.0",
65
+ "node-opcua-binary-stream": "2.128.0",
66
+ "node-opcua-factory": "2.128.0",
67
+ "node-opcua-leak-detector": "2.128.0",
69
68
  "node-opcua-nodesets": "2.121.0",
70
- "should": "^13.2.3",
71
- "sinon": "^18.0.0",
72
69
  "underscore": "^1.13.6"
73
70
  },
74
71
  "eslintConfig": {
@@ -91,7 +88,7 @@
91
88
  "internet of things"
92
89
  ],
93
90
  "homepage": "http://node-opcua.github.io/",
94
- "gitHead": "9bc9059ed1eee2b50aeac99b7f878eeb93425116",
91
+ "gitHead": "8a1754350fb95a764e278d37a289f0c48ccb8c9d",
95
92
  "files": [
96
93
  "dist",
97
94
  "source"
@@ -137,6 +137,10 @@ export interface OPCUAClientBaseOptions {
137
137
  */
138
138
  transportSettings?: TransportSettings;
139
139
  transportTimeout?: number;
140
+ /**
141
+ * defaultTransactionTimeout
142
+ */
143
+ defaultTransactionTimeout?: number;
140
144
  }
141
145
 
142
146
  export interface GetEndpointsOptions {
@@ -284,7 +288,7 @@ export interface OPCUAClientBase extends EventEmitter {
284
288
  * @param event
285
289
  * @param eventHandler
286
290
  */
287
- on(eventName: "security_token_renewed", eventHandler: () => void): this;
291
+ on(eventName: "security_token_renewed", eventHandler: (channel: ClientSecureChannelLayer, token: ChannelSecurityToken) => void): this;
288
292
 
289
293
  /**
290
294
  * this event is raised when the connection has been broken
@@ -11,6 +11,7 @@ import { ClientSession } from "./client_session";
11
11
  import { ClientSubscription, ClientSubscriptionOptions } from "./client_subscription";
12
12
  import { OPCUAClientImpl } from "./private/opcua_client_impl";
13
13
  import { UserIdentityInfo } from "./user_identity_info";
14
+ import { DataTypeExtractStrategy } from "node-opcua-client-dynamic-extension-object";
14
15
 
15
16
  export interface OPCUAClientOptions extends OPCUAClientBaseOptions {
16
17
  /**
@@ -38,6 +39,13 @@ export interface OPCUAClientOptions extends OPCUAClientBaseOptions {
38
39
  * @default true
39
40
  */
40
41
  endpointMustExist?: boolean;
42
+
43
+ /**
44
+ * optional parameter to specify strategy used to extract DataTypeDefinition from server
45
+ * default value : "Auto" : the client will attempt to extract DataTypeDefinition using the most efficient strategy
46
+ */
47
+ dataTypeExtractStrategy?: DataTypeExtractStrategy;
48
+
41
49
  }
42
50
 
43
51
  export interface OPCUAClient extends OPCUAClientBase {
@@ -24,8 +24,7 @@ import {
24
24
  ConnectionStrategyOptions,
25
25
  Request as Request1,
26
26
  Response as Response1,
27
- SecurityPolicy,
28
- SecurityToken
27
+ SecurityPolicy
29
28
  } from "node-opcua-secure-channel";
30
29
  import {
31
30
  FindServersOnNetworkRequest,
@@ -367,6 +366,7 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
367
366
  public discoveryUrl: string;
368
367
  public readonly applicationName: string;
369
368
  private _applicationUri: string;
369
+ public defaultTransactionTimeout?: number;
370
370
 
371
371
  /**
372
372
  * true if session shall periodically probe the server to keep the session alive and prevent timeout
@@ -468,6 +468,9 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
468
468
  this._serverEndpoints = [];
469
469
 
470
470
  this.defaultSecureTokenLifetime = options.defaultSecureTokenLifetime || 600000;
471
+
472
+ this.defaultTransactionTimeout = options.defaultTransactionTimeout;
473
+
471
474
  this.tokenRenewalInterval = options.tokenRenewalInterval || 0;
472
475
  assert(isFinite(this.tokenRenewalInterval) && this.tokenRenewalInterval >= 0);
473
476
  this.securityMode = coerceMessageSecurityMode(options.securityMode);
@@ -686,7 +689,8 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
686
689
  serverCertificate: this.serverCertificate,
687
690
  tokenRenewalInterval: this.tokenRenewalInterval,
688
691
  transportSettings: this._transportSettings,
689
- transportTimeout: this._transportTimeout
692
+ transportTimeout: this._transportTimeout,
693
+ defaultTransactionTimeout: this.defaultTransactionTimeout
690
694
  });
691
695
  secureChannel.on("backoff", (count: number, delay: number) => {
692
696
  this.emit("backoff", count, delay);
@@ -700,6 +704,8 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
700
704
 
701
705
  this._secureChannel = secureChannel;
702
706
 
707
+ this.emit("secure_channel_created", secureChannel);
708
+
703
709
  async.series(
704
710
  [
705
711
  // ------------------------------------------------- STEP 2 : OpenSecureChannel
@@ -980,10 +986,6 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
980
986
  });
981
987
  }
982
988
 
983
- public getClientNonce(): Nonce | null {
984
- return this._secureChannel ? this._secureChannel.getClientNonce() : null;
985
- }
986
-
987
989
  public performMessageTransaction(request: Request, callback: ResponseCallback<Response>): void {
988
990
  if (!this._secureChannel) {
989
991
  // this may happen if the Server has closed the connection abruptly for some unknown reason
@@ -1595,9 +1597,9 @@ export class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase
1595
1597
  this.emit("lifetime_75", token, secureChannel);
1596
1598
  });
1597
1599
 
1598
- secureChannel.on("security_token_renewed", () => {
1600
+ secureChannel.on("security_token_renewed", (token: ChannelSecurityToken) => {
1599
1601
  // forward message to upper level
1600
- this.emit("security_token_renewed", secureChannel);
1602
+ this.emit("security_token_renewed", secureChannel, token);
1601
1603
  });
1602
1604
 
1603
1605
  secureChannel.on("close", (err?: Error | null) => {
@@ -281,7 +281,7 @@ export class ClientSidePublishEngine {
281
281
  // the server tells us that there is no subscription for this session
282
282
  // but the client have some active subscription left.
283
283
  // This could happen if the client has missed or not received the StatusChange Notification
284
- debugLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT IT HAS NO SUBSCRIPTION , " + "BUT CLIENT DISAGREE"));
284
+ debugLog(chalk.bgWhite.red(" WARNING: server tells that there is no Subscription, but client disagree"));
285
285
  debugLog("this.activeSubscriptionCount =", this.activeSubscriptionCount);
286
286
  active = false;
287
287
  }
@@ -292,7 +292,7 @@ export class ClientSidePublishEngine {
292
292
  // may be the session timeout is shorted than the subscription life time
293
293
  // and the client does not send intermediate keepAlive request to keep the connection working.
294
294
  //
295
- debugLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT THE SESSION HAS CLOSED ..."));
295
+ debugLog(chalk.bgWhite.red(" WARNING : Server tells that the session has closed ..."));
296
296
  debugLog(
297
297
  " the ClientSidePublishEngine shall now be disabled," + " as server will reject any further request"
298
298
  );
@@ -313,10 +313,11 @@ export class ClientSidePublishEngine {
313
313
  this.nbMaxPublishRequestsAcceptedByServer
314
314
  );
315
315
  active = false;
316
-
317
- warningLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT TOO MANY" + " PUBLISH REQUEST HAS BEEN SEND ..."));
318
- warningLog(" On our side nbPendingPublishRequests = ", this.nbPendingPublishRequests);
319
- warningLog(" => nbMaxPublishRequestsAcceptedByServer =", this.nbMaxPublishRequestsAcceptedByServer);
316
+ if (this.nbPendingPublishRequests < 10) {
317
+ warningLog(chalk.bgWhite.red(" warning : server tells that too many publish request has been send ..."));
318
+ warningLog(" On our side nbPendingPublishRequests = ", this.nbPendingPublishRequests);
319
+ warningLog(" => nbMaxPublishRequestsAcceptedByServer =", this.nbMaxPublishRequestsAcceptedByServer);
320
+ }
320
321
  }
321
322
  } else {
322
323
  // istanbul ignore next
@@ -96,9 +96,11 @@ import { WriteRequest, WriteResponse, WriteValue } from "node-opcua-service-writ
96
96
  import { StatusCode, StatusCodes, Callback, CallbackT } from "node-opcua-status-code";
97
97
  import { ErrorCallback } from "node-opcua-status-code";
98
98
  import {
99
+ ActivateSessionRequest,
99
100
  AggregateConfigurationOptions,
100
101
  BrowseNextRequest,
101
102
  BrowseNextResponse,
103
+ CloseSessionRequest,
102
104
  HistoryReadValueIdOptions,
103
105
  UserTokenType,
104
106
  WriteValueOptions
@@ -129,11 +131,11 @@ import { UserIdentityInfo } from "../user_identity_info";
129
131
  import { ClientSessionKeepAliveManager } from "../client_session_keepalive_manager";
130
132
  import { ClientSubscription } from "../client_subscription";
131
133
  import { Request, Response } from "../common";
132
- import { repair_client_session } from "./reconnection/reconnection";
133
134
 
134
135
  import { ClientSidePublishEngine } from "./client_publish_engine";
135
136
  import { ClientSubscriptionImpl } from "./client_subscription_impl";
136
137
  import { IClientBase } from "./i_private_client";
138
+ import { repair_client_session } from "./reconnection/reconnection";
137
139
 
138
140
  const helpAPIChange = process.env.DEBUG && process.env.DEBUG.match(/API/);
139
141
  const debugLog = make_debugLog(__filename);
@@ -182,17 +184,18 @@ export interface Reconnectable {
182
184
  _reconnecting: {
183
185
  reconnecting: boolean;
184
186
  pendingCallbacks: EmptyCallback[];
187
+ pendingTransactions: { request: Request, callback: (err: Error | null, response?: Response) => void }[];
185
188
  };
186
- pendingTransactions: any[];
187
- pendingTransactionsCount: number;
188
189
  }
190
+
189
191
  /**
190
192
  * @class ClientSession
191
193
  * @param client {OPCUAClientImpl}
192
194
  * @constructor
193
195
  * @private
194
196
  */
195
- export class ClientSessionImpl extends EventEmitter implements ClientSession {
197
+ export class ClientSessionImpl extends EventEmitter implements ClientSession, Reconnectable {
198
+ static reconnectingElement: WeakMap<ClientSessionImpl, Reconnectable> = new WeakMap();
196
199
  public timeout: number;
197
200
  public authenticationToken?: NodeId;
198
201
  public requestedMaxReferencesPerNode: number;
@@ -202,18 +205,16 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
202
205
  public serverCertificate: Certificate;
203
206
  public userIdentityInfo?: UserIdentityInfo;
204
207
  public name = "";
205
-
206
208
  public serverNonce?: Nonce;
207
209
  public serverSignature?: SignatureData; // todo : remove ?
208
210
  public serverEndpoints: EndpointDescription[] = [];
209
211
  public _client: IClientBase | null;
210
212
  public _closed: boolean;
211
213
 
212
- private _reconnecting: {
214
+ public _reconnecting: {
213
215
  reconnecting: boolean;
214
216
  pendingCallbacks: EmptyCallback[];
215
217
  pendingTransactions: any[];
216
- pendingTransactionsCount: number;
217
218
  };
218
219
 
219
220
  /**
@@ -241,8 +242,7 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
241
242
  this._reconnecting = {
242
243
  reconnecting: false,
243
244
  pendingCallbacks: [],
244
- pendingTransactions: [],
245
- pendingTransactionsCount: 0
245
+ pendingTransactions: []
246
246
  };
247
247
 
248
248
  this.requestedMaxReferencesPerNode = 10000;
@@ -1166,7 +1166,6 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
1166
1166
  * @param args
1167
1167
  */
1168
1168
  public read(...args: any[]): any {
1169
-
1170
1169
  if (args.length === 2) {
1171
1170
  return this.read(args[0], 0, args[1]);
1172
1171
  }
@@ -1502,16 +1501,11 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
1502
1501
  // session may have been closed by user ... but is still in used !!
1503
1502
  return callback(new Error("Session has been closed and should not be used to perform a transaction anymore"));
1504
1503
  }
1505
-
1506
- this._reconnecting.pendingTransactions = this._reconnecting.pendingTransactions || [];
1507
- this._reconnecting.pendingTransactionsCount = this._reconnecting.pendingTransactionsCount || 0;
1508
-
1509
- const isPublishRequest = request instanceof PublishRequest;
1510
- if (isPublishRequest) {
1504
+ if (request instanceof PublishRequest || request instanceof ActivateSessionRequest || request instanceof CloseSessionRequest) {
1511
1505
  return this._performMessageTransaction(request, callback);
1512
1506
  }
1513
1507
 
1514
- if (this._reconnecting.pendingTransactionsCount > 0) {
1508
+ if (this._reconnecting.pendingTransactions.length > 0) {
1515
1509
  /* istanbul ignore next */
1516
1510
  if (this._reconnecting.pendingTransactions.length > 10) {
1517
1511
  if (!pendingTransactionMessageDisplayed) {
@@ -1542,33 +1536,32 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
1542
1536
  this._reconnecting.pendingTransactions.push({ request, callback });
1543
1537
  return;
1544
1538
  }
1545
- this.processTransactionQueue(request, callback);
1539
+ this.#reprocessRequest(0, request, callback);
1546
1540
  }
1547
- public processTransactionQueue = (request: Request, callback: (err: Error | null, response?: Response) => void): void => {
1548
- this._reconnecting.pendingTransactionsCount = this._reconnecting.pendingTransactionsCount || 0;
1549
- this._reconnecting.pendingTransactionsCount++;
1541
+ #reprocessRequest = (attemptCount: number, request: Request, callback: (err: Error | null, response?: Response) => void): void => {
1550
1542
 
1543
+ (attemptCount>0) && warningLog("reprocessRequest => ", request.constructor.name, this._reconnecting.pendingTransactions.length);
1551
1544
  this._performMessageTransaction(request, (err: null | Error, response?: Response) => {
1552
- this._reconnecting.pendingTransactionsCount--;
1553
-
1554
1545
  if (err && err.message.match(/BadSessionIdInvalid/) && request.constructor.name !== "ActivateSessionRequest") {
1555
- debugLog("Transaction on Invalid Session ", request.constructor.name);
1546
+ warningLog("Transaction on Invalid Session ", request.constructor.name, err.message, "isReconnecting?=", this.isReconnecting, "q=", this._reconnecting.pendingTransactions.length);
1556
1547
  request.requestHeader.requestHandle = requestHandleNotSetValue;
1557
- warningLog("client is now attempting to recreate a session");
1558
- this.recreate_session_and_reperform_transaction(request, callback);
1548
+ if (this.isReconnecting) {
1549
+ this.once("session_restored", () => {
1550
+ warningLog("redoing", request.constructor.name, this.isReconnecting);
1551
+ this.#reprocessRequest(attemptCount+1,request, callback);
1552
+ });
1553
+ } else {
1554
+ this.#_recreate_session_and_reperform_transaction(request, callback);
1555
+ }
1559
1556
  return;
1560
1557
  }
1561
1558
  callback(err, response);
1562
1559
  const length = this._reconnecting.pendingTransactions.length; // record length before callback is called !
1563
1560
  if (length > 0) {
1564
- debugLog(
1565
- "processTransactionQueue => ",
1566
- this._reconnecting.pendingTransactions.length,
1567
- " transaction(s) left in queue"
1568
- );
1561
+ debugLog("reprocessRequest => ", this._reconnecting.pendingTransactions.length, " transaction(s) left in queue");
1569
1562
  // tslint:disable-next-line: no-shadowed-variable
1570
1563
  const { request, callback } = this._reconnecting.pendingTransactions.shift();
1571
- this.processTransactionQueue(request, callback);
1564
+ this.#reprocessRequest(0, request, callback);
1572
1565
  }
1573
1566
  });
1574
1567
  };
@@ -2001,8 +1994,8 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
2001
1994
  str += "\n remaining life time...... " + this.evaluateRemainingLifetime();
2002
1995
  str += "\n subscription count....... " + this.subscriptionCount;
2003
1996
  if (this._client && this._client._secureChannel) {
2004
- if (this._client._secureChannel.securityToken) {
2005
- str += "\n reviseTokenLifetime...... " + this._client._secureChannel.securityToken.revisedLifetime;
1997
+ if (this._client._secureChannel.activeSecurityToken) {
1998
+ str += "\n reviseTokenLifetime...... " + this._client._secureChannel.activeSecurityToken.revisedLifetime;
2006
1999
  }
2007
2000
  }
2008
2001
  str += "\n keepAlive ................ " + this._keepAliveManager ? true : false;
@@ -2180,29 +2173,29 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
2180
2173
  callback(null, response);
2181
2174
  });
2182
2175
  }
2183
-
2184
- private recreate_session_and_reperform_transaction(
2176
+ #_recreate_session_and_reperform_transaction(
2185
2177
  request: Request,
2186
2178
  callback: (err: Error | null, response?: Response) => void
2187
2179
  ) {
2188
- warningLog("attempt to recreate session to reperform a transation ", request.constructor.name);
2180
+ warningLog("attempt to recreate session to reperform a transaction ", request.constructor.name);
2189
2181
  if (this.recursive_repair_detector >= 1) {
2190
2182
  // tslint:disable-next-line: no-console
2191
2183
  warningLog("recreate_session_and_reperform_transaction => Already in Progress");
2192
2184
  return callback(new Error("Cannot recreate session"));
2193
2185
  }
2194
2186
  this.recursive_repair_detector += 1;
2195
- debugLog(chalk.red("----------------> Repairing Client Session as Server believes it is invalid now "));
2187
+ warningLog(chalk.red("----------------> Repairing Client Session as Server believes it is invalid now "));
2196
2188
  repair_client_session(this._client!, this, (err?: Error) => {
2197
2189
  this.recursive_repair_detector -= 1;
2198
2190
  if (err) {
2199
- debugLog(chalk.red("----------------> session Repaired has failed with error", err.message));
2191
+ warningLog(chalk.red("----------------> session Repaired has failed with error", err.message));
2200
2192
  return callback(err);
2201
2193
  }
2202
- debugLog(chalk.red("----------------> session Repaired, now redoing original transaction "));
2194
+ warningLog(chalk.red("----------------> session Repaired, now redoing original transaction "));
2203
2195
  this._performMessageTransaction(request, callback);
2204
2196
  });
2205
2197
  }
2198
+
2206
2199
  }
2207
2200
 
2208
2201
  type promoteOpaqueStructure3WithCallbackFunc = (