node-opcua-client 2.88.0 → 2.89.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/client_session_keepalive_manager.js +1 -1
- package/dist/client_session_keepalive_manager.js.map +1 -1
- package/dist/private/opcua_client_impl.js +19 -7
- package/dist/private/opcua_client_impl.js.map +1 -1
- package/dist/reconnection.js +38 -65
- package/dist/reconnection.js.map +1 -1
- package/package.json +34 -34
- package/source/client_session_keepalive_manager.ts +1 -1
- package/source/private/client_session_impl.ts +1 -1
- package/source/private/opcua_client_impl.ts +21 -8
- package/source/reconnection.ts +38 -69
|
@@ -90,7 +90,7 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
90
90
|
if (!this.timerId) {
|
|
91
91
|
return 0; // keep-alive has been canceled ....
|
|
92
92
|
}
|
|
93
|
-
const now = Date.now();
|
|
93
|
+
const now = Date.now();
|
|
94
94
|
const timeSinceLastServerContact = now - session.lastResponseReceivedTime.getTime();
|
|
95
95
|
if (timeSinceLastServerContact < this.pingTimeout) {
|
|
96
96
|
debugLog("ClientSessionKeepAliveManager#ping_server skipped because last communication with server was not that long ago ping timeout=", Math.round(this.pingTimeout), "timeSinceLastServerContact = ", timeSinceLastServerContact);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_session_keepalive_manager.js","sourceRoot":"","sources":["../source/client_session_keepalive_manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client_session_keepalive_manager.js","sourceRoot":"","sources":["../source/client_session_keepalive_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -537,7 +537,9 @@ class OPCUAClientImpl extends client_base_impl_1.ClientBaseImpl {
|
|
|
537
537
|
}
|
|
538
538
|
// istanbul ignore next
|
|
539
539
|
if (!this.__resolveEndPoint() || !this.endpoint) {
|
|
540
|
-
return callback(new Error(" End point must exist " + this._secureChannel.endpointUrl
|
|
540
|
+
return callback(new Error(" End point must exist " + this._secureChannel.endpointUrl +
|
|
541
|
+
" securityMode = " + node_opcua_service_secure_channel_1.MessageSecurityMode[this.securityMode] +
|
|
542
|
+
" securityPolicy = " + this.securityPolicy));
|
|
541
543
|
}
|
|
542
544
|
(0, node_opcua_assert_1.assert)(!internalSession._client || (0, node_opcua_utils_1.matchUri)(internalSession._client.endpointUrl, this.endpointUrl), "cannot reactivateSession on a different endpoint");
|
|
543
545
|
const old_client = internalSession._client;
|
|
@@ -604,6 +606,8 @@ class OPCUAClientImpl extends client_base_impl_1.ClientBaseImpl {
|
|
|
604
606
|
// note : do not confuse CreateSessionRequest.clientNonce with OpenSecureChannelRequest.clientNonce
|
|
605
607
|
// which are two different nonce, with different size (although they share the same name )
|
|
606
608
|
this.clientNonce = crypto.randomBytes(32);
|
|
609
|
+
// recycle session name if already exists
|
|
610
|
+
const sessionName = session.name;
|
|
607
611
|
const request = new node_opcua_service_session_1.CreateSessionRequest({
|
|
608
612
|
clientCertificate: this.getCertificate(),
|
|
609
613
|
clientDescription: applicationDescription,
|
|
@@ -612,7 +616,7 @@ class OPCUAClientImpl extends client_base_impl_1.ClientBaseImpl {
|
|
|
612
616
|
maxResponseMessageSize: 800000,
|
|
613
617
|
requestedSessionTimeout: this.requestedSessionTimeout,
|
|
614
618
|
serverUri: this.serverUri,
|
|
615
|
-
sessionName
|
|
619
|
+
sessionName,
|
|
616
620
|
});
|
|
617
621
|
// a client Nonce must be provided if security mode is set
|
|
618
622
|
(0, node_opcua_assert_1.assert)(this._secureChannel.securityMode === node_opcua_service_secure_channel_1.MessageSecurityMode.None || request.clientNonce !== null);
|
|
@@ -646,7 +650,6 @@ class OPCUAClientImpl extends client_base_impl_1.ClientBaseImpl {
|
|
|
646
650
|
return callback(new Error("Invalid server Nonce"));
|
|
647
651
|
}
|
|
648
652
|
// todo: verify SignedSoftwareCertificates and response.serverSignature
|
|
649
|
-
session = session || new client_session_impl_1.ClientSessionImpl(this);
|
|
650
653
|
session.name = request.sessionName || "";
|
|
651
654
|
session.sessionId = response.sessionId;
|
|
652
655
|
session.authenticationToken = response.authenticationToken;
|
|
@@ -863,14 +866,23 @@ class OPCUAClientImpl extends client_base_impl_1.ClientBaseImpl {
|
|
|
863
866
|
(0, node_opcua_assert_1.assert)(this._secureChannel);
|
|
864
867
|
if (!this.__resolveEndPoint() || !this.endpoint) {
|
|
865
868
|
/* istanbul ignore next */
|
|
866
|
-
if (
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
869
|
+
if (this._serverEndpoints) {
|
|
870
|
+
warningLog("server endpoints =", this._serverEndpoints.map((endpoint) => {
|
|
871
|
+
var _a;
|
|
872
|
+
return endpoint.endpointUrl + " "
|
|
873
|
+
+ node_opcua_service_secure_channel_1.MessageSecurityMode[endpoint.securityMode] + " "
|
|
874
|
+
+ endpoint.securityPolicyUri + " "
|
|
875
|
+
+ ((_a = endpoint.userIdentityTokens) === null || _a === void 0 ? void 0 : _a.map((u) => node_opcua_service_endpoints_1.UserTokenType[u.tokenType]).join(","));
|
|
876
|
+
}).join('\n'));
|
|
877
|
+
}
|
|
878
|
+
return callback(new Error(" End point must exist " + this._secureChannel.endpointUrl +
|
|
879
|
+
" securityMode = " + node_opcua_service_secure_channel_1.MessageSecurityMode[this.securityMode] +
|
|
880
|
+
" securityPolicy = " + this.securityPolicy));
|
|
870
881
|
}
|
|
871
882
|
this.serverUri = this.endpoint.server.applicationUri || "invalid application uri";
|
|
872
883
|
this.endpointUrl = this._secureChannel.endpointUrl;
|
|
873
884
|
const session = new client_session_impl_1.ClientSessionImpl(this);
|
|
885
|
+
session.name = this._nextSessionName();
|
|
874
886
|
this.__createSession_step2(session, callback);
|
|
875
887
|
}
|
|
876
888
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opcua_client_impl.js","sourceRoot":"","sources":["../../source/private/opcua_client_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opcua_client_impl.js","sourceRoot":"","sources":["../../source/private/opcua_client_impl.ts"],"names":[],"mappings":"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"}
|
package/dist/reconnection.js
CHANGED
|
@@ -102,20 +102,20 @@ const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
|
102
102
|
// +-------------------------------+
|
|
103
103
|
function _ask_for_subscription_republish(session, callback) {
|
|
104
104
|
if (session.hasBeenClosed()) {
|
|
105
|
-
debugLog("_ask_for_subscription_republish : session is closed");
|
|
105
|
+
doDebug && debugLog("_ask_for_subscription_republish : session is closed");
|
|
106
106
|
return callback(new Error("askForSubscriptionRepublish => canceled because session is closed"));
|
|
107
107
|
}
|
|
108
|
-
debugLog(chalk.bgCyan.yellow.bold("_ask_for_subscription_republish "));
|
|
108
|
+
doDebug && debugLog(chalk.bgCyan.yellow.bold("_ask_for_subscription_republish "));
|
|
109
109
|
// assert(session.getPublishEngine().nbPendingPublishRequests === 0,
|
|
110
110
|
// "at this time, publish request queue shall still be empty");
|
|
111
111
|
session.getPublishEngine().republish((err) => {
|
|
112
|
-
debugLog("_ask_for_subscription_republish : republish sent");
|
|
112
|
+
doDebug && debugLog("_ask_for_subscription_republish : republish sent");
|
|
113
113
|
if (session.hasBeenClosed()) {
|
|
114
114
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
115
115
|
}
|
|
116
|
-
debugLog(chalk.bgCyan.green.bold("_ask_for_subscription_republish done "), err ? err.message : "OK");
|
|
116
|
+
doDebug && debugLog(chalk.bgCyan.green.bold("_ask_for_subscription_republish done "), err ? err.message : "OK");
|
|
117
117
|
if (err) {
|
|
118
|
-
debugLog("_ask_for_subscription_republish has : recreating subscription");
|
|
118
|
+
doDebug && debugLog("_ask_for_subscription_republish has : recreating subscription");
|
|
119
119
|
return repair_client_session_by_recreating_a_new_session(session._client, session, callback);
|
|
120
120
|
}
|
|
121
121
|
// xx assert(session.getPublishEngine().nbPendingPublishRequests === 0);
|
|
@@ -123,64 +123,37 @@ function _ask_for_subscription_republish(session, callback) {
|
|
|
123
123
|
callback(err);
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
-
function create_session_and_repeat_if_failed_Old(client, session, callback) {
|
|
127
|
-
if (session.hasBeenClosed()) {
|
|
128
|
-
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
129
|
-
}
|
|
130
|
-
debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
131
|
-
// create new session, based on old session,
|
|
132
|
-
// so we can reuse subscriptions data
|
|
133
|
-
client.__createSession_step2(session, (err, session1) => {
|
|
134
|
-
if (err && session.hasBeenClosed()) {
|
|
135
|
-
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
136
|
-
}
|
|
137
|
-
if (!err && session1) {
|
|
138
|
-
const newSession = session1;
|
|
139
|
-
(0, node_opcua_assert_1.assert)(session === session1, "session should have been recycled");
|
|
140
|
-
callback(err, newSession);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
debugLog(chalk.bgWhite.cyan(" => creating a new session (based on old session data).... Done"));
|
|
145
|
-
setTimeout(() => {
|
|
146
|
-
create_session_and_repeat_if_failed(client, session, callback);
|
|
147
|
-
}, 1000);
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
126
|
function create_session_and_repeat_if_failed(client, session, callback) {
|
|
153
127
|
if (session.hasBeenClosed()) {
|
|
154
|
-
debugLog("Cannot complete subscription republish due to session terminatio");
|
|
128
|
+
doDebug && debugLog("Cannot complete subscription republish due to session terminatio");
|
|
155
129
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
156
130
|
}
|
|
157
|
-
debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
131
|
+
doDebug && debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
158
132
|
// create new session, based on old session,
|
|
159
133
|
// so we can reuse subscriptions data
|
|
160
134
|
client.__createSession_step2(session, (err, session1) => {
|
|
161
135
|
if (err && session.hasBeenClosed()) {
|
|
162
|
-
debugLog("Cannot complete subscription republish due to session terminatio");
|
|
136
|
+
doDebug && debugLog("Cannot complete subscription republish due to session terminatio");
|
|
163
137
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
164
138
|
}
|
|
165
139
|
if (!err && session1) {
|
|
166
|
-
const newSession = session1;
|
|
167
140
|
(0, node_opcua_assert_1.assert)(session === session1, "session should have been recycled");
|
|
168
|
-
callback(err,
|
|
141
|
+
callback(err, session);
|
|
169
142
|
return;
|
|
170
143
|
}
|
|
171
144
|
else {
|
|
172
|
-
debugLog("Cannot complete subscription republish err = ", err === null || err === void 0 ? void 0 : err.message);
|
|
145
|
+
doDebug && debugLog("Cannot complete subscription republish err = ", err === null || err === void 0 ? void 0 : err.message);
|
|
173
146
|
callback(err);
|
|
174
147
|
}
|
|
175
148
|
});
|
|
176
149
|
}
|
|
177
150
|
function repair_client_session_by_recreating_a_new_session(client, session, callback) {
|
|
178
151
|
if (doDebug) {
|
|
179
|
-
debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
152
|
+
doDebug && debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
180
153
|
}
|
|
181
154
|
// TO DO : it is possible that session is already closed while we get there
|
|
182
155
|
if (session.hasBeenClosed()) {
|
|
183
|
-
debugLog(chalk.bgWhite.red("Aborting reactivation of old session because user requested session to be closed"));
|
|
156
|
+
doDebug && debugLog(chalk.bgWhite.red("Aborting reactivation of old session because user requested session to be closed"));
|
|
184
157
|
return callback(new Error("reconnection cancelled due to session termination"));
|
|
185
158
|
}
|
|
186
159
|
let newSession;
|
|
@@ -190,7 +163,7 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
190
163
|
if (session.hasBeenClosed()) {
|
|
191
164
|
return innerCallback(new Error("Cannot complete subscription republish due to session termination"));
|
|
192
165
|
}
|
|
193
|
-
debugLog(chalk.bgWhite.red(" => suspend old session publish engine...."));
|
|
166
|
+
doDebug && debugLog(chalk.bgWhite.red(" => suspend old session publish engine...."));
|
|
194
167
|
session.getPublishEngine().suspend(true);
|
|
195
168
|
innerCallback();
|
|
196
169
|
},
|
|
@@ -206,11 +179,11 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
206
179
|
if (session.hasBeenClosed()) {
|
|
207
180
|
return innerCallback(new Error("Cannot complete subscription republish due to session termination"));
|
|
208
181
|
}
|
|
209
|
-
debugLog(chalk.bgWhite.red(" => activating a new session ...."));
|
|
182
|
+
doDebug && debugLog(chalk.bgWhite.red(" => activating a new session ...."));
|
|
210
183
|
client._activateSession(newSession, newSession.userIdentityInfo, (err, session1) => {
|
|
211
|
-
debugLog(chalk.bgWhite.cyan(" => activating a new session .... Done err=", err ? err.message : "null"));
|
|
184
|
+
doDebug && debugLog(chalk.bgWhite.cyan(" => activating a new session .... Done err=", err ? err.message : "null"));
|
|
212
185
|
if (err) {
|
|
213
|
-
debugLog(chalk.bgWhite.cyan("reactivation of the new session has failed: let be smart and close it before failing this repair attempt"));
|
|
186
|
+
doDebug && debugLog(chalk.bgWhite.cyan("reactivation of the new session has failed: let be smart and close it before failing this repair attempt"));
|
|
214
187
|
// but just on the server side, not on the client side
|
|
215
188
|
const closeSessionRequest = new node_opcua_types_1.CloseSessionRequest({
|
|
216
189
|
deleteSubscriptions: true
|
|
@@ -233,12 +206,12 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
233
206
|
}
|
|
234
207
|
// get the old subscriptions id from the old session
|
|
235
208
|
const subscriptionsIds = session.getPublishEngine().getSubscriptionIds();
|
|
236
|
-
debugLog(" session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
209
|
+
doDebug && debugLog(" session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
237
210
|
if (subscriptionsIds.length === 0) {
|
|
238
|
-
debugLog(" No subscriptions => skipping transfer subscriptions");
|
|
211
|
+
doDebug && debugLog(" No subscriptions => skipping transfer subscriptions");
|
|
239
212
|
return innerCallback(); // no need to transfer subscriptions
|
|
240
213
|
}
|
|
241
|
-
debugLog(" => asking server to transfer subscriptions = [", subscriptionsIds.join(", "), "]");
|
|
214
|
+
doDebug && debugLog(" => asking server to transfer subscriptions = [", subscriptionsIds.join(", "), "]");
|
|
242
215
|
// Transfer subscriptions - ask for initial values....
|
|
243
216
|
const subscriptionsToTransfer = new node_opcua_service_subscription_1.TransferSubscriptionsRequest({
|
|
244
217
|
sendInitialValues: true,
|
|
@@ -262,7 +235,7 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
262
235
|
const results = transferSubscriptionsResponse.results || [];
|
|
263
236
|
// istanbul ignore next
|
|
264
237
|
if (doDebug) {
|
|
265
|
-
debugLog(chalk.cyan(" => transfer subscriptions done"), results.map((x) => x.statusCode.toString()).join(" "));
|
|
238
|
+
doDebug && debugLog(chalk.cyan(" => transfer subscriptions done"), results.map((x) => x.statusCode.toString()).join(" "));
|
|
266
239
|
}
|
|
267
240
|
const subscriptionsToRecreate = [];
|
|
268
241
|
// some subscriptions may be marked as invalid on the server side ...
|
|
@@ -271,30 +244,30 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
271
244
|
const statusCode = results[i].statusCode;
|
|
272
245
|
if (statusCode.equals(node_opcua_status_code_1.StatusCodes.BadSubscriptionIdInvalid)) {
|
|
273
246
|
// repair subscription
|
|
274
|
-
debugLog(chalk.red(" WARNING SUBSCRIPTION "), subscriptionsIds[i], chalk.red(" SHOULD BE RECREATED"));
|
|
247
|
+
doDebug && debugLog(chalk.red(" WARNING SUBSCRIPTION "), subscriptionsIds[i], chalk.red(" SHOULD BE RECREATED"));
|
|
275
248
|
subscriptionsToRecreate.push(subscriptionsIds[i]);
|
|
276
249
|
}
|
|
277
250
|
else {
|
|
278
251
|
const availableSequenceNumbers = results[i].availableSequenceNumbers;
|
|
279
|
-
debugLog(chalk.green(" SUBSCRIPTION "), subscriptionsIds[i], chalk.green(" CAN BE REPAIRED AND AVAILABLE "), availableSequenceNumbers);
|
|
252
|
+
doDebug && debugLog(chalk.green(" SUBSCRIPTION "), subscriptionsIds[i], chalk.green(" CAN BE REPAIRED AND AVAILABLE "), availableSequenceNumbers);
|
|
280
253
|
// should be Good.
|
|
281
254
|
}
|
|
282
255
|
}
|
|
283
|
-
debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
256
|
+
doDebug && debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
284
257
|
async.forEach(subscriptionsToRecreate, (subscriptionId, next) => {
|
|
285
258
|
if (!session.getPublishEngine().hasSubscription(subscriptionId)) {
|
|
286
|
-
debugLog(chalk.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
259
|
+
doDebug && debugLog(chalk.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
287
260
|
return next();
|
|
288
261
|
}
|
|
289
262
|
const subscription = session.getPublishEngine().getSubscription(subscriptionId);
|
|
290
263
|
(0, node_opcua_assert_1.assert)(subscription.constructor.name === "ClientSubscriptionImpl");
|
|
291
|
-
debugLog(chalk.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
264
|
+
doDebug && debugLog(chalk.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
292
265
|
(0, node_opcua_assert_1.assert)(subscription.session === newSession, "must have the session");
|
|
293
266
|
subscription.recreateSubscriptionAndMonitoredItem((err1) => {
|
|
294
267
|
if (err1) {
|
|
295
|
-
debugLog("_recreateSubscription failed !" + err1.message);
|
|
268
|
+
doDebug && debugLog("_recreateSubscription failed !" + err1.message);
|
|
296
269
|
}
|
|
297
|
-
debugLog(chalk.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE "), subscriptionId);
|
|
270
|
+
doDebug && debugLog(chalk.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE "), subscriptionId);
|
|
298
271
|
next();
|
|
299
272
|
});
|
|
300
273
|
}, (err1) => {
|
|
@@ -323,7 +296,7 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
323
296
|
newSession.getPublishEngine().suspend(false);
|
|
324
297
|
const listenerCountAfter = session.listenerCount("");
|
|
325
298
|
(0, node_opcua_assert_1.assert)(newSession === session);
|
|
326
|
-
debugLog("listenerCountBefore =", listenerCountBefore, "listenerCountAfter = ", listenerCountAfter);
|
|
299
|
+
doDebug && debugLog("listenerCountBefore =", listenerCountBefore, "listenerCountAfter = ", listenerCountAfter);
|
|
327
300
|
innerCallback();
|
|
328
301
|
}
|
|
329
302
|
], (err) => {
|
|
@@ -332,20 +305,20 @@ function repair_client_session_by_recreating_a_new_session(client, session, call
|
|
|
332
305
|
}
|
|
333
306
|
function _repair_client_session(client, session, callback) {
|
|
334
307
|
const callback2 = (err2) => {
|
|
335
|
-
debugLog("Session repair completed with err: ", err2 ? err2.message : "<no error>", session.sessionId.toString());
|
|
308
|
+
doDebug && debugLog("Session repair completed with err: ", err2 ? err2.message : "<no error>", session.sessionId.toString());
|
|
336
309
|
session.emit("session_repaired");
|
|
337
310
|
callback(err2);
|
|
338
311
|
};
|
|
339
312
|
if (doDebug) {
|
|
340
|
-
debugLog(chalk.yellow(" TRYING TO REACTIVATE EXISTING SESSION"), session.sessionId.toString());
|
|
341
|
-
debugLog(" SubscriptionIds :", session.getPublishEngine().getSubscriptionIds());
|
|
313
|
+
doDebug && debugLog(chalk.yellow(" TRYING TO REACTIVATE EXISTING SESSION"), session.sessionId.toString());
|
|
314
|
+
doDebug && debugLog(" SubscriptionIds :", session.getPublishEngine().getSubscriptionIds());
|
|
342
315
|
}
|
|
343
316
|
client._activateSession(session, session.userIdentityInfo, (err, session2) => {
|
|
344
317
|
//
|
|
345
318
|
// Note: current limitation :
|
|
346
319
|
// - The reconnection doesn't work yet, if connection break is caused by a server that crashes and restarts.
|
|
347
320
|
//
|
|
348
|
-
debugLog(" ActivateSession : ", err ? chalk.red(err.message) : chalk.green(" SUCCESS !!! "));
|
|
321
|
+
doDebug && debugLog(" ActivateSession : ", err ? chalk.red(err.message) : chalk.green(" SUCCESS !!! "));
|
|
349
322
|
if (err) {
|
|
350
323
|
// activate old session has failed => let's recreate a new Channel and transfer the subscription
|
|
351
324
|
return repair_client_session_by_recreating_a_new_session(client, session, callback2);
|
|
@@ -358,14 +331,14 @@ function _repair_client_session(client, session, callback) {
|
|
|
358
331
|
}
|
|
359
332
|
function repair_client_session(client, session, callback) {
|
|
360
333
|
if (!client) {
|
|
361
|
-
debugLog("Aborting reactivation of old session because user requested session to be close");
|
|
334
|
+
doDebug && debugLog("Aborting reactivation of old session because user requested session to be close");
|
|
362
335
|
return callback();
|
|
363
336
|
}
|
|
364
|
-
debugLog(chalk.yellow("Starting client session repair"));
|
|
337
|
+
doDebug && debugLog(chalk.yellow("Starting client session repair"));
|
|
365
338
|
const privateSession = session;
|
|
366
339
|
privateSession._reconnecting = privateSession._reconnecting || { reconnecting: false, pendingCallbacks: [] };
|
|
367
340
|
if (privateSession._reconnecting.reconnecting) {
|
|
368
|
-
debugLog(chalk.bgCyan("Reconnecting already happening for session"), session.sessionId.toString());
|
|
341
|
+
doDebug && debugLog(chalk.bgCyan("Reconnecting already happening for session"), session.sessionId.toString());
|
|
369
342
|
privateSession._reconnecting.pendingCallbacks.push(callback);
|
|
370
343
|
return;
|
|
371
344
|
}
|
|
@@ -381,12 +354,12 @@ function repair_client_session(client, session, callback) {
|
|
|
381
354
|
}, 2000);
|
|
382
355
|
return;
|
|
383
356
|
}
|
|
384
|
-
debugLog(chalk.yellow("session has been restored"), session.sessionId.toString());
|
|
357
|
+
doDebug && debugLog(chalk.yellow("session has been restored"), session.sessionId.toString());
|
|
385
358
|
session.emit("session_restored");
|
|
386
359
|
const otherCallbacks = privateSession._reconnecting.pendingCallbacks;
|
|
387
360
|
privateSession._reconnecting.pendingCallbacks = [];
|
|
388
361
|
// re-inject element in queue
|
|
389
|
-
debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
|
|
362
|
+
doDebug && debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
|
|
390
363
|
transactionQueue.forEach((e) => privateSession.pendingTransactions.push(e));
|
|
391
364
|
otherCallbacks.forEach((c) => c(err));
|
|
392
365
|
callback(err);
|
|
@@ -397,7 +370,7 @@ function repair_client_sessions(client, callback) {
|
|
|
397
370
|
const self = client;
|
|
398
371
|
// repair session
|
|
399
372
|
const sessions = self.getSessions();
|
|
400
|
-
debugLog(chalk.red.bgWhite(" Starting sessions reactivation", sessions.length));
|
|
373
|
+
doDebug && debugLog(chalk.red.bgWhite(" Starting sessions reactivation", sessions.length));
|
|
401
374
|
async.map(sessions, (session, next) => {
|
|
402
375
|
repair_client_session(client, session, next);
|
|
403
376
|
}, (err) => {
|
package/dist/reconnection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnection.js","sourceRoot":"","sources":["../source/reconnection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reconnection.js","sourceRoot":"","sources":["../source/reconnection.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAsC;AACtC,+BAA+B;AAC/B,+BAA+B;AAC/B,yDAA2C;AAC3C,uDAAiG;AACjG,qFAA8G;AAC9G,mEAA4E;AAE5E,uDAAuD;AAOvD,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAE/C,EAAE;AACF,wFAAwF;AACxF,mEAAmE;AACnE,EAAE;AACF,EAAE;AACF,wDAAwD;AACxD,sCAAsC;AACtC,EAAE;AACF,EAAE;AACF,EAAE;AACF,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,8GAA8G;AAC9G,8GAA8G;AAC9G,+GAA+G;AAC/G,mCAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,mCAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,qCAAqC;AACrC,qCAAqC;AACrC,uCAAuC;AACvC,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,0EAA0E;AAC1E,0EAA0E;AAC1E,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,+DAA+D;AAC/D,8DAA8D;AAC9D,4DAA4D;AAC5D,gEAAgE;AAChE,4DAA4D;AAC5D,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,4DAA4D;AAC5D,4DAA4D;AAC5D,qCAAqC;AACrC,6GAA6G;AAC7G,6GAA6G;AAC7G,6GAA6G;AAC7G,uHAAuH;AACvH,sHAAsH;AACtH,sHAAsH;AACtH,sHAAsH;AACtH,sHAAsH;AACtH,sHAAsH;AACtH,oGAAoG;AACpG,mGAAmG;AACnG,kDAAkD;AAClD,qCAAqC;AACrC,qCAAqC;AACrC,uCAAuC;AACvC,iFAAiF;AACjF,wCAAwC;AACxC,uCAAuC;AACvC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AAErC,SAAS,+BAA+B,CAAC,OAA0B,EAAE,QAA+B;IAChG,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;QACzB,OAAO,IAAI,QAAQ,CAAC,sDAAsD,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;KACnG;IAED,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAClF,oEAAoE;IACpE,iEAAiE;IAEjE,OAAO,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAW,EAAE,EAAE;QACjD,OAAO,IAAI,QAAQ,CAAC,mDAAmD,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;YACzB,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;SACnG;QACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChH,IAAI,GAAG,EAAE;YACL,OAAO,IAAI,QAAQ,CAAC,gEAAgE,CAAC,CAAC;YACtF,OAAO,iDAAiD,CAAC,OAAO,CAAC,OAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SACjG;QACD,wEAAwE;QACxE,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mCAAmC,CACxC,MAAmB,EACnB,OAA0B,EAC1B,QAAsC;IAEtC,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;QACzB,OAAO,IAAI,QAAQ,CAAC,kEAAkE,CAAC,CAAC;QACxF,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;KACnG;IACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC7E,4CAA4C;IAC5C,qCAAqC;IACrC,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAA4B,EAAE,EAAE;QACtF,IAAI,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;YAChC,OAAO,IAAI,QAAQ,CAAC,kEAAkE,CAAC,CAAC;YACxF,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;SACnG;QACD,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;YAClB,IAAA,0BAAM,EAAC,OAAO,KAAK,QAAQ,EAAE,mCAAmC,CAAC,CAAC;YAClE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACvB,OAAO;SACV;aAAM;YACH,OAAO,IAAI,QAAQ,CAAC,+CAA+C,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;YACnF,QAAQ,CAAC,GAAG,CAAC,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iDAAiD,CACtD,MAAmB,EACnB,OAA0B,EAC1B,QAA+B;IAE/B,IAAI,OAAO,EAAE;QACT,OAAO,IAAI,QAAQ,CAAC,wEAAwE,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC/H;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;QACzB,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAC;QAC3H,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;KACnF;IAED,IAAI,UAA6B,CAAC;IAElC,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEtD,KAAK,CAAC,MAAM,CACR;QACI,SAAS,kCAAkC,CAAC,aAA4B;YACpE,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;gBACzB,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;aACxG;YACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,aAAa,EAAE,CAAC;QACpB,CAAC;QAED,SAAS,kBAAkB,CAAC,aAA4B;YACpD,mCAAmC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAkB,EAAE,WAA+B,EAAE,EAAE;gBACzG,IAAI,WAAW,EAAE;oBACb,UAAU,GAAG,WAAW,CAAC;iBAC5B;gBACD,aAAa,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS,oBAAoB,CAAC,aAA4B;YACtD,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;gBACzB,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;aACxG;YACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAE/E,MAAM,CAAC,gBAAgB,CACnB,UAAU,EACV,UAAU,CAAC,gBAAiB,EAC5B,CAAC,GAAiB,EAAE,QAA4B,EAAE,EAAE;gBAChD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvH,IAAI,GAAG,EAAE;oBACL,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,OAAO,CAAC,IAAI,CACd,0GAA0G,CAC7G,CACJ,CAAC;oBACF,sDAAsD;oBACtD,MAAM,mBAAmB,GAAG,IAAI,sCAAmB,CAAC;wBAChD,mBAAmB,EAAE,IAAI;qBAC5B,CAAC,CAAC;oBACH,OAAO,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,CAAC,IAAmB,EAAE,EAAE;wBAC3E,IAAI,IAAI,EAAE;4BACN,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC/C;wBACD,aAAa,CAAC,GAAG,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBACxC;YACL,CAAC,CACJ,CAAC;QACN,CAAC;QAED,SAAS,6BAA6B,CAAC,aAA4B;YAC/D,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;gBACzB,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;aACxG;YACD,oDAAoD;YACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAEzE,OAAO,IAAI,QAAQ,CAAC,gCAAgC,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACvG,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO,IAAI,QAAQ,CAAC,sDAAsD,CAAC,CAAC;gBAC5E,OAAO,aAAa,EAAE,CAAC,CAAC,oCAAoC;aAC/D;YACD,OAAO,IAAI,QAAQ,CAAC,oDAAoD,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAE5G,sDAAsD;YACtD,MAAM,uBAAuB,GAAG,IAAI,8DAA4B,CAAC;gBAC7D,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,gBAAgB;aACpC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,wBAAwB,KAAK,CAAC,EAAE;gBAC9D,UAAU,CAAC,4CAA4C,CAAC,CAAC;aAC5D;YACD,UAAU,CAAC,qBAAqB,CAC5B,uBAAuB,EACvB,CAAC,GAAiB,EAAE,6BAA6D,EAAE,EAAE;gBACjF,IAAI,GAAG,EAAE;oBACL,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnF,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;oBAC7E,qEAAqE;oBACrE,gDAAgD;oBAChD,OAAO,aAAa,EAAE,CAAC;iBAC1B;gBAED,uBAAuB;gBACvB,IAAI,CAAC,6BAA6B,EAAE;oBAChC,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACrD;gBAED,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,IAAI,EAAE,CAAC;gBAE5D,uBAAuB;gBACvB,IAAI,OAAO,EAAE;oBACT,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,EAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC7D,CAAC;iBACL;gBAED,MAAM,uBAAuB,GAAG,EAAE,CAAC;gBAEnC,qEAAqE;gBACrE,mDAAmD;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACzC,IAAI,UAAU,CAAC,MAAM,CAAC,oCAAW,CAAC,wBAAwB,CAAC,EAAE;wBACzD,sBAAsB;wBACtB,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAC5C,gBAAgB,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CACpC,CAAC;wBAEF,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;qBACrD;yBAAM;wBACH,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;wBAErE,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EACrC,gBAAgB,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAC9C,wBAAwB,CAC3B,CAAC;wBACF,kBAAkB;qBACrB;iBACJ;gBACD,OAAO,IAAI,QAAQ,CAAC,oCAAoC,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBAE3G,KAAK,CAAC,OAAO,CACT,uBAAuB,EACvB,CAAC,cAA8B,EAAE,IAAmB,EAAE,EAAE;oBACpD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;wBAC7D,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,EAAE,cAAc,CAAC,CAAC;wBAC9F,OAAO,IAAI,EAAE,CAAC;qBACjB;oBACD,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBAChF,IAAA,0BAAM,EAAC,YAAY,CAAC,WAAW,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;oBACnE,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAAE,cAAc,CAAC,CAAC;oBACzF,IAAA,0BAAM,EAAC,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,uBAAuB,CAAC,CAAC;oBAEpE,YAAuC,CAAC,oCAAoC,CAAC,CAAC,IAAY,EAAE,EAAE;wBAC3F,IAAI,IAAI,EAAE;4BACN,OAAO,IAAI,QAAQ,CAAC,gCAAgC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;yBACxE;wBAED,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,EAC5E,cAAc,CACjB,CAAC;wBAEF,IAAI,EAAE,CAAC;oBACX,CAAC,CAAC,CAAC;gBACP,CAAC,EACD,CAAC,IAAmB,EAAE,EAAE;oBACpB,aAAa,CAAC,IAAK,CAAC,CAAC;gBACzB,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC;QAED,SAAS,8BAA8B,CAAC,aAA4B;YAChE,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;gBACzB,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;aACxG;YACD,6GAA6G;YAC7G,sBAAsB;YACtB,OAAO,+BAA+B,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvD,IAAI,GAAG,EAAE;oBACL,uCAAuC;oBACvC,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC7E;gBACD,aAAa,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS,0BAA0B,CAAC,aAA4B;YAC5D,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE;gBACzB,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;aACxG;YACD,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACrD,IAAA,0BAAM,EAAC,UAAU,KAAK,OAAO,CAAC,CAAC;YAC/B,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;YAC/G,aAAa,EAAE,CAAC;QACpB,CAAC;KACJ,EACD,CAAC,GAAG,EAAE,EAAE;QACJ,QAAQ,CAAC,GAAI,CAAC,CAAC;IACnB,CAAC,CACJ,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAmB,EAAE,OAA0B,EAAE,QAA+B;IAC5G,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,OAAO,IAAI,QAAQ,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7H,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,OAAO,EAAE;QACT,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3G,OAAO,IAAI,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;KAChG;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAiB,EAAE,CAAC,GAAiB,EAAE,QAA4B,EAAE,EAAE;QAC5G,EAAE;QACF,6BAA6B;QAC7B,6GAA6G;QAC7G,EAAE;QACF,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1G,IAAI,GAAG,EAAE;YACL,kGAAkG;YAClG,OAAO,iDAAiD,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SACxF;aAAM;YACH,6DAA6D;YAC7D,OAAO,+BAA+B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAC9D;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAID,SAAgB,qBAAqB,CAAC,MAAmB,EAAE,OAA0B,EAAE,QAAuB;IAC1G,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,IAAI,QAAQ,CAAC,iFAAiF,CAAC,CAAC;QACvG,OAAO,QAAQ,EAAE,CAAC;KACrB;IACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,OAA+B,CAAC;IACvD,cAAc,CAAC,aAAa,GAAG,cAAc,CAAC,aAAa,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAC7G,IAAI,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE;QAC3C,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO;KACV;IACD,cAAc,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;IAEjD,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhH,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,cAAc,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;QAClD,IAAI,GAAG,EAAE;YACL,QAAQ,CACJ,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAClD,GAAG,CAAC,OAAO,EACX,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC5B,iBAAiB,CACpB,CAAC;YACF,UAAU,CAAC,GAAG,EAAE;gBACZ,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO;SACV;QACD,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACrE,cAAc,CAAC,aAAa,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAEnD,6BAA6B;QAC7B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7F,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC;AA3CD,sDA2CC;AAED,SAAgB,sBAAsB,CAAC,MAAmB,EAAE,QAA+B;IACvF,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,iCAAiC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,KAAK,CAAC,GAAG,CACL,QAAQ,EACR,CAAC,OAAO,EAAE,IAA2B,EAAE,EAAE;QACrC,qBAAqB,CAAC,MAAM,EAAE,OAA4B,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACJ,GAAG,IAAI,QAAQ,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC,GAAI,CAAC,CAAC;IAC1B,CAAC,CACJ,CAAC;AACN,CAAC;AAfD,wDAeC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.89.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -client",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "npx rimraf node_modules dist *.tsbuildinfo certificates",
|
|
@@ -20,43 +20,43 @@
|
|
|
20
20
|
"callbackify": "^1.1.0",
|
|
21
21
|
"chalk": "4.1.2",
|
|
22
22
|
"node-opcua-assert": "2.88.0",
|
|
23
|
-
"node-opcua-basic-types": "2.
|
|
23
|
+
"node-opcua-basic-types": "2.89.0",
|
|
24
24
|
"node-opcua-buffer-utils": "2.88.0",
|
|
25
|
-
"node-opcua-certificate-manager": "2.
|
|
26
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
27
|
-
"node-opcua-common": "2.
|
|
25
|
+
"node-opcua-certificate-manager": "2.89.0",
|
|
26
|
+
"node-opcua-client-dynamic-extension-object": "2.89.0",
|
|
27
|
+
"node-opcua-common": "2.89.0",
|
|
28
28
|
"node-opcua-constants": "2.88.0",
|
|
29
29
|
"node-opcua-crypto": "^2.1.2",
|
|
30
|
-
"node-opcua-data-model": "2.
|
|
31
|
-
"node-opcua-data-value": "2.
|
|
32
|
-
"node-opcua-date-time": "2.
|
|
30
|
+
"node-opcua-data-model": "2.89.0",
|
|
31
|
+
"node-opcua-data-value": "2.89.0",
|
|
32
|
+
"node-opcua-date-time": "2.89.0",
|
|
33
33
|
"node-opcua-debug": "2.88.0",
|
|
34
|
-
"node-opcua-extension-object": "2.
|
|
34
|
+
"node-opcua-extension-object": "2.89.0",
|
|
35
35
|
"node-opcua-hostname": "2.88.0",
|
|
36
36
|
"node-opcua-nodeid": "2.88.0",
|
|
37
37
|
"node-opcua-object-registry": "2.88.0",
|
|
38
|
-
"node-opcua-pki": "^3.0.
|
|
39
|
-
"node-opcua-pseudo-session": "2.
|
|
40
|
-
"node-opcua-schemas": "2.
|
|
41
|
-
"node-opcua-secure-channel": "2.
|
|
42
|
-
"node-opcua-service-browse": "2.
|
|
43
|
-
"node-opcua-service-call": "2.
|
|
44
|
-
"node-opcua-service-discovery": "2.
|
|
45
|
-
"node-opcua-service-endpoints": "2.
|
|
46
|
-
"node-opcua-service-filter": "2.
|
|
47
|
-
"node-opcua-service-history": "2.
|
|
48
|
-
"node-opcua-service-query": "2.
|
|
49
|
-
"node-opcua-service-read": "2.
|
|
50
|
-
"node-opcua-service-register-node": "2.
|
|
51
|
-
"node-opcua-service-secure-channel": "2.
|
|
52
|
-
"node-opcua-service-session": "2.
|
|
53
|
-
"node-opcua-service-subscription": "2.
|
|
54
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
55
|
-
"node-opcua-service-write": "2.
|
|
56
|
-
"node-opcua-status-code": "2.
|
|
57
|
-
"node-opcua-types": "2.
|
|
38
|
+
"node-opcua-pki": "^3.0.2",
|
|
39
|
+
"node-opcua-pseudo-session": "2.89.0",
|
|
40
|
+
"node-opcua-schemas": "2.89.0",
|
|
41
|
+
"node-opcua-secure-channel": "2.89.0",
|
|
42
|
+
"node-opcua-service-browse": "2.89.0",
|
|
43
|
+
"node-opcua-service-call": "2.89.0",
|
|
44
|
+
"node-opcua-service-discovery": "2.89.0",
|
|
45
|
+
"node-opcua-service-endpoints": "2.89.0",
|
|
46
|
+
"node-opcua-service-filter": "2.89.0",
|
|
47
|
+
"node-opcua-service-history": "2.89.0",
|
|
48
|
+
"node-opcua-service-query": "2.89.0",
|
|
49
|
+
"node-opcua-service-read": "2.89.0",
|
|
50
|
+
"node-opcua-service-register-node": "2.89.0",
|
|
51
|
+
"node-opcua-service-secure-channel": "2.89.0",
|
|
52
|
+
"node-opcua-service-session": "2.89.0",
|
|
53
|
+
"node-opcua-service-subscription": "2.89.0",
|
|
54
|
+
"node-opcua-service-translate-browse-path": "2.89.0",
|
|
55
|
+
"node-opcua-service-write": "2.89.0",
|
|
56
|
+
"node-opcua-status-code": "2.89.0",
|
|
57
|
+
"node-opcua-types": "2.89.0",
|
|
58
58
|
"node-opcua-utils": "2.88.0",
|
|
59
|
-
"node-opcua-variant": "2.
|
|
59
|
+
"node-opcua-variant": "2.89.0",
|
|
60
60
|
"once": "^1.4.0",
|
|
61
61
|
"thenify": "^3.3.1"
|
|
62
62
|
},
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"@types/underscore": "^1.11.4",
|
|
65
65
|
"dequeue": "^1.0.5",
|
|
66
66
|
"mocha": "^10.2.0",
|
|
67
|
-
"node-opcua-address-space": "2.
|
|
68
|
-
"node-opcua-binary-stream": "2.
|
|
69
|
-
"node-opcua-factory": "2.
|
|
67
|
+
"node-opcua-address-space": "2.89.0",
|
|
68
|
+
"node-opcua-binary-stream": "2.89.0",
|
|
69
|
+
"node-opcua-factory": "2.89.0",
|
|
70
70
|
"node-opcua-leak-detector": "2.88.0",
|
|
71
71
|
"node-opcua-nodesets": "2.88.0",
|
|
72
72
|
"should": "^13.2.3",
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"internet of things"
|
|
94
94
|
],
|
|
95
95
|
"homepage": "http://node-opcua.github.io/",
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "93d5502a1b71afbb5e5fa56846615c412b63cc1b"
|
|
97
97
|
}
|
|
@@ -103,7 +103,7 @@ export class ClientSessionKeepAliveManager extends EventEmitter implements Clien
|
|
|
103
103
|
if (!this.timerId) {
|
|
104
104
|
return 0; // keep-alive has been canceled ....
|
|
105
105
|
}
|
|
106
|
-
const now = Date.now();
|
|
106
|
+
const now = Date.now();
|
|
107
107
|
|
|
108
108
|
const timeSinceLastServerContact = now - session.lastResponseReceivedTime.getTime();
|
|
109
109
|
if (timeSinceLastServerContact < this.pingTimeout) {
|
|
@@ -2010,7 +2010,7 @@ export class ClientSessionImpl extends EventEmitter implements ClientSession {
|
|
|
2010
2010
|
});
|
|
2011
2011
|
this._keepAliveManager.start();
|
|
2012
2012
|
}
|
|
2013
|
-
|
|
2013
|
+
|
|
2014
2014
|
public stopKeepAliveManager(): void {
|
|
2015
2015
|
if (this._keepAliveManager) {
|
|
2016
2016
|
this._keepAliveManager.stop();
|
|
@@ -755,7 +755,11 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
|
|
|
755
755
|
}
|
|
756
756
|
// istanbul ignore next
|
|
757
757
|
if (!this.__resolveEndPoint() || !this.endpoint) {
|
|
758
|
-
return callback!(
|
|
758
|
+
return callback!(
|
|
759
|
+
new Error(
|
|
760
|
+
" End point must exist " + this._secureChannel!.endpointUrl +
|
|
761
|
+
" securityMode = " + MessageSecurityMode[this.securityMode] +
|
|
762
|
+
" securityPolicy = " + this.securityPolicy));
|
|
759
763
|
}
|
|
760
764
|
|
|
761
765
|
assert(
|
|
@@ -844,6 +848,9 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
|
|
|
844
848
|
// which are two different nonce, with different size (although they share the same name )
|
|
845
849
|
this.clientNonce = crypto.randomBytes(32);
|
|
846
850
|
|
|
851
|
+
// recycle session name if already exists
|
|
852
|
+
const sessionName = session.name
|
|
853
|
+
|
|
847
854
|
const request = new CreateSessionRequest({
|
|
848
855
|
clientCertificate: this.getCertificate(),
|
|
849
856
|
clientDescription: applicationDescription,
|
|
@@ -852,7 +859,7 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
|
|
|
852
859
|
maxResponseMessageSize: 800000,
|
|
853
860
|
requestedSessionTimeout: this.requestedSessionTimeout,
|
|
854
861
|
serverUri: this.serverUri,
|
|
855
|
-
sessionName
|
|
862
|
+
sessionName,
|
|
856
863
|
});
|
|
857
864
|
|
|
858
865
|
// a client Nonce must be provided if security mode is set
|
|
@@ -897,7 +904,6 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
|
|
|
897
904
|
|
|
898
905
|
// todo: verify SignedSoftwareCertificates and response.serverSignature
|
|
899
906
|
|
|
900
|
-
session = session || new ClientSessionImpl(this);
|
|
901
907
|
session.name = request.sessionName || "";
|
|
902
908
|
session.sessionId = response.sessionId;
|
|
903
909
|
session.authenticationToken = response.authenticationToken;
|
|
@@ -1152,20 +1158,27 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
|
|
|
1152
1158
|
assert(this._secureChannel);
|
|
1153
1159
|
if (!this.__resolveEndPoint() || !this.endpoint) {
|
|
1154
1160
|
/* istanbul ignore next */
|
|
1155
|
-
if (
|
|
1156
|
-
|
|
1161
|
+
if (this._serverEndpoints) {
|
|
1162
|
+
warningLog("server endpoints =",
|
|
1157
1163
|
this._serverEndpoints.map(
|
|
1158
1164
|
(endpoint) =>
|
|
1159
|
-
endpoint.endpointUrl + " "
|
|
1160
|
-
|
|
1165
|
+
endpoint.endpointUrl + " "
|
|
1166
|
+
+ MessageSecurityMode[endpoint.securityMode] + " "
|
|
1167
|
+
+ endpoint.securityPolicyUri + " "
|
|
1168
|
+
+ endpoint.userIdentityTokens?.map((u)=> UserTokenType[u.tokenType]).join(",")
|
|
1169
|
+
).join('\n')
|
|
1161
1170
|
);
|
|
1162
1171
|
}
|
|
1163
|
-
return callback(new Error(
|
|
1172
|
+
return callback(new Error(
|
|
1173
|
+
" End point must exist " + this._secureChannel!.endpointUrl +
|
|
1174
|
+
" securityMode = " + MessageSecurityMode[this.securityMode] +
|
|
1175
|
+
" securityPolicy = " + this.securityPolicy));
|
|
1164
1176
|
}
|
|
1165
1177
|
this.serverUri = this.endpoint.server.applicationUri || "invalid application uri";
|
|
1166
1178
|
this.endpointUrl = this._secureChannel!.endpointUrl;
|
|
1167
1179
|
|
|
1168
1180
|
const session = new ClientSessionImpl(this);
|
|
1181
|
+
session.name = this._nextSessionName();
|
|
1169
1182
|
this.__createSession_step2(session, callback);
|
|
1170
1183
|
}
|
|
1171
1184
|
|
package/source/reconnection.ts
CHANGED
|
@@ -109,22 +109,22 @@ const warningLog = make_warningLog(__filename);
|
|
|
109
109
|
|
|
110
110
|
function _ask_for_subscription_republish(session: ClientSessionImpl, callback: (err?: Error) => void) {
|
|
111
111
|
if (session.hasBeenClosed()) {
|
|
112
|
-
debugLog("_ask_for_subscription_republish : session is closed");
|
|
112
|
+
doDebug && debugLog("_ask_for_subscription_republish : session is closed");
|
|
113
113
|
return callback(new Error("askForSubscriptionRepublish => canceled because session is closed"));
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
debugLog(chalk.bgCyan.yellow.bold("_ask_for_subscription_republish "));
|
|
116
|
+
doDebug && debugLog(chalk.bgCyan.yellow.bold("_ask_for_subscription_republish "));
|
|
117
117
|
// assert(session.getPublishEngine().nbPendingPublishRequests === 0,
|
|
118
118
|
// "at this time, publish request queue shall still be empty");
|
|
119
119
|
|
|
120
120
|
session.getPublishEngine().republish((err?: Error) => {
|
|
121
|
-
debugLog("_ask_for_subscription_republish : republish sent");
|
|
121
|
+
doDebug && debugLog("_ask_for_subscription_republish : republish sent");
|
|
122
122
|
if (session.hasBeenClosed()) {
|
|
123
123
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
124
124
|
}
|
|
125
|
-
debugLog(chalk.bgCyan.green.bold("_ask_for_subscription_republish done "), err ? err.message : "OK");
|
|
125
|
+
doDebug && debugLog(chalk.bgCyan.green.bold("_ask_for_subscription_republish done "), err ? err.message : "OK");
|
|
126
126
|
if (err) {
|
|
127
|
-
debugLog("_ask_for_subscription_republish has : recreating subscription");
|
|
127
|
+
doDebug && debugLog("_ask_for_subscription_republish has : recreating subscription");
|
|
128
128
|
return repair_client_session_by_recreating_a_new_session(session._client!, session, callback);
|
|
129
129
|
}
|
|
130
130
|
// xx assert(session.getPublishEngine().nbPendingPublishRequests === 0);
|
|
@@ -133,60 +133,29 @@ function _ask_for_subscription_republish(session: ClientSessionImpl, callback: (
|
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
function create_session_and_repeat_if_failed_Old(
|
|
137
|
-
client: IClientBase,
|
|
138
|
-
session: ClientSessionImpl,
|
|
139
|
-
callback: CallbackT<ClientSessionImpl>
|
|
140
|
-
) {
|
|
141
|
-
if (session.hasBeenClosed()) {
|
|
142
|
-
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
143
|
-
}
|
|
144
|
-
debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
145
|
-
// create new session, based on old session,
|
|
146
|
-
// so we can reuse subscriptions data
|
|
147
|
-
client.__createSession_step2(session, (err: Error | null, session1?: ClientSessionImpl) => {
|
|
148
|
-
if (err && session.hasBeenClosed()) {
|
|
149
|
-
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
150
|
-
}
|
|
151
|
-
if (!err && session1) {
|
|
152
|
-
const newSession = session1;
|
|
153
|
-
assert(session === session1, "session should have been recycled");
|
|
154
|
-
callback(err, newSession);
|
|
155
|
-
return;
|
|
156
|
-
} else {
|
|
157
|
-
debugLog(chalk.bgWhite.cyan(" => creating a new session (based on old session data).... Done"));
|
|
158
|
-
setTimeout(() => {
|
|
159
|
-
create_session_and_repeat_if_failed(client, session, callback);
|
|
160
|
-
}, 1000);
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
|
|
166
136
|
function create_session_and_repeat_if_failed(
|
|
167
137
|
client: IClientBase,
|
|
168
138
|
session: ClientSessionImpl,
|
|
169
139
|
callback: CallbackT<ClientSessionImpl>
|
|
170
140
|
) {
|
|
171
141
|
if (session.hasBeenClosed()) {
|
|
172
|
-
debugLog("Cannot complete subscription republish due to session terminatio");
|
|
142
|
+
doDebug && debugLog("Cannot complete subscription republish due to session terminatio");
|
|
173
143
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
174
144
|
}
|
|
175
|
-
debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
145
|
+
doDebug && debugLog(chalk.bgWhite.red(" => creating a new session ...."));
|
|
176
146
|
// create new session, based on old session,
|
|
177
147
|
// so we can reuse subscriptions data
|
|
178
148
|
client.__createSession_step2(session, (err: Error | null, session1?: ClientSessionImpl) => {
|
|
179
149
|
if (err && session.hasBeenClosed()) {
|
|
180
|
-
debugLog("Cannot complete subscription republish due to session terminatio");
|
|
150
|
+
doDebug && debugLog("Cannot complete subscription republish due to session terminatio");
|
|
181
151
|
return callback(new Error("Cannot complete subscription republish due to session termination"));
|
|
182
152
|
}
|
|
183
153
|
if (!err && session1) {
|
|
184
|
-
const newSession = session1;
|
|
185
154
|
assert(session === session1, "session should have been recycled");
|
|
186
|
-
callback(err,
|
|
155
|
+
callback(err, session);
|
|
187
156
|
return;
|
|
188
157
|
} else {
|
|
189
|
-
debugLog("Cannot complete subscription republish err = ", err?.message);
|
|
158
|
+
doDebug && debugLog("Cannot complete subscription republish err = ", err?.message);
|
|
190
159
|
callback(err);
|
|
191
160
|
}
|
|
192
161
|
});
|
|
@@ -198,12 +167,12 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
198
167
|
callback: (err?: Error) => void
|
|
199
168
|
) {
|
|
200
169
|
if (doDebug) {
|
|
201
|
-
debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
170
|
+
doDebug && debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
202
171
|
}
|
|
203
172
|
|
|
204
173
|
// TO DO : it is possible that session is already closed while we get there
|
|
205
174
|
if (session.hasBeenClosed()) {
|
|
206
|
-
debugLog(chalk.bgWhite.red("Aborting reactivation of old session because user requested session to be closed"));
|
|
175
|
+
doDebug && debugLog(chalk.bgWhite.red("Aborting reactivation of old session because user requested session to be closed"));
|
|
207
176
|
return callback(new Error("reconnection cancelled due to session termination"));
|
|
208
177
|
}
|
|
209
178
|
|
|
@@ -217,7 +186,7 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
217
186
|
if (session.hasBeenClosed()) {
|
|
218
187
|
return innerCallback(new Error("Cannot complete subscription republish due to session termination"));
|
|
219
188
|
}
|
|
220
|
-
debugLog(chalk.bgWhite.red(" => suspend old session publish engine...."));
|
|
189
|
+
doDebug && debugLog(chalk.bgWhite.red(" => suspend old session publish engine...."));
|
|
221
190
|
session.getPublishEngine().suspend(true);
|
|
222
191
|
innerCallback();
|
|
223
192
|
},
|
|
@@ -235,15 +204,15 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
235
204
|
if (session.hasBeenClosed()) {
|
|
236
205
|
return innerCallback(new Error("Cannot complete subscription republish due to session termination"));
|
|
237
206
|
}
|
|
238
|
-
debugLog(chalk.bgWhite.red(" => activating a new session ...."));
|
|
207
|
+
doDebug && debugLog(chalk.bgWhite.red(" => activating a new session ...."));
|
|
239
208
|
|
|
240
209
|
client._activateSession(
|
|
241
210
|
newSession,
|
|
242
211
|
newSession.userIdentityInfo!,
|
|
243
212
|
(err: Error | null, session1?: ClientSessionImpl) => {
|
|
244
|
-
debugLog(chalk.bgWhite.cyan(" => activating a new session .... Done err=", err ? err.message : "null"));
|
|
213
|
+
doDebug && debugLog(chalk.bgWhite.cyan(" => activating a new session .... Done err=", err ? err.message : "null"));
|
|
245
214
|
if (err) {
|
|
246
|
-
debugLog(
|
|
215
|
+
doDebug && debugLog(
|
|
247
216
|
chalk.bgWhite.cyan(
|
|
248
217
|
"reactivation of the new session has failed: let be smart and close it before failing this repair attempt"
|
|
249
218
|
)
|
|
@@ -272,12 +241,12 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
272
241
|
// get the old subscriptions id from the old session
|
|
273
242
|
const subscriptionsIds = session.getPublishEngine().getSubscriptionIds();
|
|
274
243
|
|
|
275
|
-
debugLog(" session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
244
|
+
doDebug && debugLog(" session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
276
245
|
if (subscriptionsIds.length === 0) {
|
|
277
|
-
debugLog(" No subscriptions => skipping transfer subscriptions");
|
|
246
|
+
doDebug && debugLog(" No subscriptions => skipping transfer subscriptions");
|
|
278
247
|
return innerCallback(); // no need to transfer subscriptions
|
|
279
248
|
}
|
|
280
|
-
debugLog(" => asking server to transfer subscriptions = [", subscriptionsIds.join(", "), "]");
|
|
249
|
+
doDebug && debugLog(" => asking server to transfer subscriptions = [", subscriptionsIds.join(", "), "]");
|
|
281
250
|
|
|
282
251
|
// Transfer subscriptions - ask for initial values....
|
|
283
252
|
const subscriptionsToTransfer = new TransferSubscriptionsRequest({
|
|
@@ -308,7 +277,7 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
308
277
|
|
|
309
278
|
// istanbul ignore next
|
|
310
279
|
if (doDebug) {
|
|
311
|
-
debugLog(
|
|
280
|
+
doDebug && debugLog(
|
|
312
281
|
chalk.cyan(" => transfer subscriptions done"),
|
|
313
282
|
results.map((x: any) => x.statusCode.toString()).join(" ")
|
|
314
283
|
);
|
|
@@ -322,7 +291,7 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
322
291
|
const statusCode = results[i].statusCode;
|
|
323
292
|
if (statusCode.equals(StatusCodes.BadSubscriptionIdInvalid)) {
|
|
324
293
|
// repair subscription
|
|
325
|
-
debugLog(
|
|
294
|
+
doDebug && debugLog(
|
|
326
295
|
chalk.red(" WARNING SUBSCRIPTION "),
|
|
327
296
|
subscriptionsIds[i],
|
|
328
297
|
chalk.red(" SHOULD BE RECREATED")
|
|
@@ -332,7 +301,7 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
332
301
|
} else {
|
|
333
302
|
const availableSequenceNumbers = results[i].availableSequenceNumbers;
|
|
334
303
|
|
|
335
|
-
debugLog(
|
|
304
|
+
doDebug && debugLog(
|
|
336
305
|
chalk.green(" SUBSCRIPTION "),
|
|
337
306
|
subscriptionsIds[i],
|
|
338
307
|
chalk.green(" CAN BE REPAIRED AND AVAILABLE "),
|
|
@@ -341,26 +310,26 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
341
310
|
// should be Good.
|
|
342
311
|
}
|
|
343
312
|
}
|
|
344
|
-
debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
313
|
+
doDebug && debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
345
314
|
|
|
346
315
|
async.forEach(
|
|
347
316
|
subscriptionsToRecreate,
|
|
348
317
|
(subscriptionId: SubscriptionId, next: ErrorCallback) => {
|
|
349
318
|
if (!session.getPublishEngine().hasSubscription(subscriptionId)) {
|
|
350
|
-
debugLog(chalk.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
319
|
+
doDebug && debugLog(chalk.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
351
320
|
return next();
|
|
352
321
|
}
|
|
353
322
|
const subscription = session.getPublishEngine().getSubscription(subscriptionId);
|
|
354
323
|
assert(subscription.constructor.name === "ClientSubscriptionImpl");
|
|
355
|
-
debugLog(chalk.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
324
|
+
doDebug && debugLog(chalk.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
356
325
|
assert(subscription.session === newSession, "must have the session");
|
|
357
326
|
|
|
358
327
|
(subscription as ClientSubscriptionImpl).recreateSubscriptionAndMonitoredItem((err1?: Error) => {
|
|
359
328
|
if (err1) {
|
|
360
|
-
debugLog("_recreateSubscription failed !" + err1.message);
|
|
329
|
+
doDebug && debugLog("_recreateSubscription failed !" + err1.message);
|
|
361
330
|
}
|
|
362
331
|
|
|
363
|
-
debugLog(
|
|
332
|
+
doDebug && debugLog(
|
|
364
333
|
chalk.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE "),
|
|
365
334
|
subscriptionId
|
|
366
335
|
);
|
|
@@ -398,7 +367,7 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
398
367
|
newSession.getPublishEngine().suspend(false);
|
|
399
368
|
const listenerCountAfter = session.listenerCount("");
|
|
400
369
|
assert(newSession === session);
|
|
401
|
-
debugLog("listenerCountBefore =", listenerCountBefore, "listenerCountAfter = ", listenerCountAfter);
|
|
370
|
+
doDebug && debugLog("listenerCountBefore =", listenerCountBefore, "listenerCountAfter = ", listenerCountAfter);
|
|
402
371
|
innerCallback();
|
|
403
372
|
}
|
|
404
373
|
],
|
|
@@ -410,21 +379,21 @@ function repair_client_session_by_recreating_a_new_session(
|
|
|
410
379
|
|
|
411
380
|
function _repair_client_session(client: IClientBase, session: ClientSessionImpl, callback: (err?: Error) => void): void {
|
|
412
381
|
const callback2 = (err2?: Error) => {
|
|
413
|
-
debugLog("Session repair completed with err: ", err2 ? err2.message : "<no error>", session.sessionId.toString());
|
|
382
|
+
doDebug && debugLog("Session repair completed with err: ", err2 ? err2.message : "<no error>", session.sessionId.toString());
|
|
414
383
|
session.emit("session_repaired");
|
|
415
384
|
callback(err2);
|
|
416
385
|
};
|
|
417
386
|
|
|
418
387
|
if (doDebug) {
|
|
419
|
-
debugLog(chalk.yellow(" TRYING TO REACTIVATE EXISTING SESSION"), session.sessionId.toString());
|
|
420
|
-
debugLog(" SubscriptionIds :", session.getPublishEngine().getSubscriptionIds());
|
|
388
|
+
doDebug && debugLog(chalk.yellow(" TRYING TO REACTIVATE EXISTING SESSION"), session.sessionId.toString());
|
|
389
|
+
doDebug && debugLog(" SubscriptionIds :", session.getPublishEngine().getSubscriptionIds());
|
|
421
390
|
}
|
|
422
391
|
client._activateSession(session, session.userIdentityInfo!, (err: Error | null, session2?: ClientSessionImpl) => {
|
|
423
392
|
//
|
|
424
393
|
// Note: current limitation :
|
|
425
394
|
// - The reconnection doesn't work yet, if connection break is caused by a server that crashes and restarts.
|
|
426
395
|
//
|
|
427
|
-
debugLog(" ActivateSession : ", err ? chalk.red(err.message) : chalk.green(" SUCCESS !!! "));
|
|
396
|
+
doDebug && debugLog(" ActivateSession : ", err ? chalk.red(err.message) : chalk.green(" SUCCESS !!! "));
|
|
428
397
|
if (err) {
|
|
429
398
|
// activate old session has failed => let's recreate a new Channel and transfer the subscription
|
|
430
399
|
return repair_client_session_by_recreating_a_new_session(client, session, callback2);
|
|
@@ -439,14 +408,14 @@ type EmptyCallback = (err?: Error) => void;
|
|
|
439
408
|
|
|
440
409
|
export function repair_client_session(client: IClientBase, session: ClientSessionImpl, callback: EmptyCallback): void {
|
|
441
410
|
if (!client) {
|
|
442
|
-
debugLog("Aborting reactivation of old session because user requested session to be close");
|
|
411
|
+
doDebug && debugLog("Aborting reactivation of old session because user requested session to be close");
|
|
443
412
|
return callback();
|
|
444
413
|
}
|
|
445
|
-
debugLog(chalk.yellow("Starting client session repair"));
|
|
414
|
+
doDebug && debugLog(chalk.yellow("Starting client session repair"));
|
|
446
415
|
const privateSession = session as any as Reconnectable;
|
|
447
416
|
privateSession._reconnecting = privateSession._reconnecting || { reconnecting: false, pendingCallbacks: [] };
|
|
448
417
|
if (privateSession._reconnecting.reconnecting) {
|
|
449
|
-
debugLog(chalk.bgCyan("Reconnecting already happening for session"), session.sessionId.toString());
|
|
418
|
+
doDebug && debugLog(chalk.bgCyan("Reconnecting already happening for session"), session.sessionId.toString());
|
|
450
419
|
privateSession._reconnecting.pendingCallbacks.push(callback);
|
|
451
420
|
return;
|
|
452
421
|
}
|
|
@@ -469,13 +438,13 @@ export function repair_client_session(client: IClientBase, session: ClientSessio
|
|
|
469
438
|
}, 2000);
|
|
470
439
|
return;
|
|
471
440
|
}
|
|
472
|
-
debugLog(chalk.yellow("session has been restored"), session.sessionId.toString());
|
|
441
|
+
doDebug && debugLog(chalk.yellow("session has been restored"), session.sessionId.toString());
|
|
473
442
|
session.emit("session_restored");
|
|
474
443
|
const otherCallbacks = privateSession._reconnecting.pendingCallbacks;
|
|
475
444
|
privateSession._reconnecting.pendingCallbacks = [];
|
|
476
445
|
|
|
477
446
|
// re-inject element in queue
|
|
478
|
-
debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
|
|
447
|
+
doDebug && debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
|
|
479
448
|
transactionQueue.forEach((e: any) => privateSession.pendingTransactions.push(e));
|
|
480
449
|
otherCallbacks.forEach((c: EmptyCallback) => c(err));
|
|
481
450
|
callback(err);
|
|
@@ -486,7 +455,7 @@ export function repair_client_sessions(client: IClientBase, callback: (err?: Err
|
|
|
486
455
|
const self = client;
|
|
487
456
|
// repair session
|
|
488
457
|
const sessions = self.getSessions();
|
|
489
|
-
debugLog(chalk.red.bgWhite(" Starting sessions reactivation", sessions.length));
|
|
458
|
+
doDebug && debugLog(chalk.red.bgWhite(" Starting sessions reactivation", sessions.length));
|
|
490
459
|
async.map(
|
|
491
460
|
sessions,
|
|
492
461
|
(session, next: (err?: Error) => void) => {
|