node-opcua-client 2.166.0 → 2.168.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/alarms_and_conditions/client_alarm_tools.d.ts +1 -1
- package/dist/alarms_and_conditions/client_alarm_tools.js +2 -2
- package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
- package/dist/alarms_and_conditions/client_tools.d.ts +3 -0
- package/dist/alarms_and_conditions/client_tools.js +2 -2
- package/dist/alarms_and_conditions/client_tools.js.map +1 -1
- package/dist/client_base.d.ts +47 -40
- package/dist/client_base.js +5 -6
- package/dist/client_base.js.map +1 -1
- package/dist/client_monitored_item.d.ts +7 -7
- package/dist/client_monitored_item.js.map +1 -1
- package/dist/client_monitored_item_base.d.ts +12 -13
- package/dist/client_monitored_item_group.d.ts +5 -5
- package/dist/client_monitored_item_toolbox.d.ts +6 -7
- package/dist/client_monitored_item_toolbox.js.map +1 -1
- package/dist/client_session.d.ts +19 -23
- package/dist/client_session.js.map +1 -1
- package/dist/client_session_keepalive_manager.d.ts +1 -1
- package/dist/client_session_keepalive_manager.js +6 -6
- package/dist/client_session_keepalive_manager.js.map +1 -1
- package/dist/client_subscription.d.ts +11 -12
- package/dist/client_subscription.js.map +1 -1
- package/dist/client_utils.d.ts +3 -3
- package/dist/client_utils.js.map +1 -1
- package/dist/common.d.ts +12 -12
- package/dist/index.d.ts +26 -27
- package/dist/index.js +65 -66
- package/dist/index.js.map +1 -1
- package/dist/opcua_client.d.ts +17 -19
- package/dist/opcua_client.js.map +1 -1
- package/dist/private/client_base_impl.d.ts +19 -18
- package/dist/private/client_base_impl.js +220 -192
- package/dist/private/client_base_impl.js.map +1 -1
- package/dist/private/client_monitored_item_group_impl.d.ts +4 -5
- package/dist/private/client_monitored_item_group_impl.js +1 -1
- package/dist/private/client_monitored_item_group_impl.js.map +1 -1
- package/dist/private/client_monitored_item_impl.d.ts +9 -10
- package/dist/private/client_monitored_item_impl.js.map +1 -1
- package/dist/private/client_publish_engine.d.ts +3 -3
- package/dist/private/client_publish_engine.js +6 -7
- package/dist/private/client_publish_engine.js.map +1 -1
- package/dist/private/client_session_impl.d.ts +24 -25
- package/dist/private/client_session_impl.js +14 -10
- package/dist/private/client_session_impl.js.map +1 -1
- package/dist/private/client_subscription_impl.d.ts +10 -11
- package/dist/private/client_subscription_impl.js +12 -11
- package/dist/private/client_subscription_impl.js.map +1 -1
- package/dist/private/i_private_client.d.ts +7 -7
- package/dist/private/opcua_client_impl.d.ts +12 -9
- package/dist/private/opcua_client_impl.js +58 -48
- package/dist/private/opcua_client_impl.js.map +1 -1
- package/dist/private/performance.js.map +1 -1
- package/dist/private/reconnection/client_publish_engine_reconnection.d.ts +1 -1
- package/dist/private/reconnection/client_publish_engine_reconnection.js +54 -43
- package/dist/private/reconnection/client_publish_engine_reconnection.js.map +1 -1
- package/dist/private/reconnection/client_reconnection.d.ts +1 -1
- package/dist/private/reconnection/client_subscription_reconnection.d.ts +1 -1
- package/dist/private/reconnection/client_subscription_reconnection.js +2 -2
- package/dist/private/reconnection/client_subscription_reconnection.js.map +1 -1
- package/dist/private/reconnection/reconnection.d.ts +4 -4
- package/dist/private/reconnection/reconnection.js +200 -281
- package/dist/private/reconnection/reconnection.js.map +1 -1
- package/dist/tools/findservers.d.ts +7 -2
- package/dist/tools/findservers.js +41 -53
- package/dist/tools/findservers.js.map +1 -1
- package/dist/tools/read_history_server_capabilities.d.ts +1 -1
- package/dist/tools/read_history_server_capabilities.js +9 -8
- package/dist/tools/read_history_server_capabilities.js.map +1 -1
- package/dist/user_identity_info.d.ts +1 -1
- package/dist/verify.js.map +1 -1
- package/package.json +45 -45
- package/source/alarms_and_conditions/client_alarm_tools.ts +14 -8
- package/source/alarms_and_conditions/client_tools.ts +7 -6
- package/source/client_base.ts +93 -79
- package/source/client_monitored_item.ts +7 -8
- package/source/client_monitored_item_base.ts +12 -14
- package/source/client_monitored_item_group.ts +5 -5
- package/source/client_monitored_item_toolbox.ts +13 -14
- package/source/client_session.ts +37 -40
- package/source/client_session_keepalive_manager.ts +7 -10
- package/source/client_subscription.ts +11 -12
- package/source/client_utils.ts +6 -6
- package/source/common.ts +12 -12
- package/source/index.ts +44 -40
- package/source/opcua_client.ts +24 -23
- package/source/private/client_base_impl.ts +329 -290
- package/source/private/client_monitored_item_group_impl.ts +10 -14
- package/source/private/client_monitored_item_impl.ts +17 -17
- package/source/private/client_publish_engine.ts +11 -12
- package/source/private/client_session_impl.ts +85 -82
- package/source/private/client_subscription_impl.ts +42 -41
- package/source/private/i_private_client.ts +8 -8
- package/source/private/opcua_client_impl.ts +118 -97
- package/source/private/performance.ts +2 -3
- package/source/private/reconnection/client_publish_engine_reconnection.ts +76 -68
- package/source/private/reconnection/client_reconnection.ts +1 -1
- package/source/private/reconnection/client_subscription_reconnection.ts +16 -13
- package/source/private/reconnection/reconnection.ts +307 -301
- package/source/tools/findservers.ts +43 -62
- package/source/tools/read_history_server_capabilities.ts +20 -22
- package/source/user_identity_info.ts +5 -5
- package/source/verify.ts +25 -25
|
@@ -11,14 +11,13 @@ exports._shouldNotContinue2 = _shouldNotContinue2;
|
|
|
11
11
|
exports.repair_client_session = repair_client_session;
|
|
12
12
|
exports.repair_client_sessions = repair_client_sessions;
|
|
13
13
|
// tslint:disable:only-arrow-functions
|
|
14
|
-
const async_1 = __importDefault(require("async"));
|
|
15
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
15
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
16
|
+
const node_opcua_client_dynamic_extension_object_1 = require("node-opcua-client-dynamic-extension-object");
|
|
17
17
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
18
18
|
const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
|
|
19
19
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
20
20
|
const node_opcua_types_1 = require("node-opcua-types");
|
|
21
|
-
const node_opcua_client_dynamic_extension_object_1 = require("node-opcua-client-dynamic-extension-object");
|
|
22
21
|
const client_publish_engine_reconnection_1 = require("./client_publish_engine_reconnection");
|
|
23
22
|
const client_subscription_reconnection_1 = require("./client_subscription_reconnection");
|
|
24
23
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)("RECONNECTION");
|
|
@@ -43,6 +42,11 @@ function _shouldNotContinue2(subscription) {
|
|
|
43
42
|
}
|
|
44
43
|
return _shouldNotContinue(subscription.session);
|
|
45
44
|
}
|
|
45
|
+
function _throwIfShouldNotContinue(session) {
|
|
46
|
+
const err = _shouldNotContinue(session);
|
|
47
|
+
if (err)
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
46
50
|
//
|
|
47
51
|
// a new secure channel has be created, we need to reactivate the corresponding session,
|
|
48
52
|
// and reestablish the subscription and restart the publish engine.
|
|
@@ -107,7 +111,7 @@ function _shouldNotContinue2(subscription) {
|
|
|
107
111
|
// |
|
|
108
112
|
// v +-------------------+ +----------------------+
|
|
109
113
|
// / \ | CreateSession | | |
|
|
110
|
-
// / SR? \
|
|
114
|
+
// / SR? \______Bad_____> | ActivateSession |-----> | TransferSubscription |
|
|
111
115
|
// \ / | | | | (1)
|
|
112
116
|
// \ / +-------------------+ +----------------------+ ^
|
|
113
117
|
// | Good | |
|
|
@@ -157,287 +161,199 @@ function _ask_for_subscription_republish(session, callback) {
|
|
|
157
161
|
callback(err);
|
|
158
162
|
});
|
|
159
163
|
}
|
|
160
|
-
function create_session_and_repeat_if_failed(client, session
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
client.__createSession_step2(session, (err, session1) => {
|
|
172
|
-
// prettier-ignore
|
|
173
|
-
{
|
|
174
|
-
const err = _shouldNotContinue(session);
|
|
175
|
-
if (err) {
|
|
176
|
-
return callback(err);
|
|
164
|
+
function create_session_and_repeat_if_failed(client, session) {
|
|
165
|
+
return new Promise((resolve, reject) => {
|
|
166
|
+
_throwIfShouldNotContinue(session);
|
|
167
|
+
doDebug && debugLog(chalk_1.default.bgWhite.red(" => creating a new session ...."));
|
|
168
|
+
// create new session, based on old session,
|
|
169
|
+
// so we can reuse subscriptions data
|
|
170
|
+
client.__createSession_step2(session, (err, session1) => {
|
|
171
|
+
_throwIfShouldNotContinue(session);
|
|
172
|
+
if (!err && session1) {
|
|
173
|
+
(0, node_opcua_assert_1.assert)(session === session1, "session should have been recycled");
|
|
174
|
+
resolve(session);
|
|
177
175
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
doDebug && debugLog("Cannot complete subscription republish err = ", err?.message);
|
|
186
|
-
callback(err);
|
|
187
|
-
}
|
|
176
|
+
else {
|
|
177
|
+
doDebug && debugLog("Cannot complete subscription republish err = ", err?.message);
|
|
178
|
+
reject(err || new Error("Failed to create session"));
|
|
179
|
+
}
|
|
180
|
+
});
|
|
188
181
|
});
|
|
189
182
|
}
|
|
190
|
-
function
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
// As we don"t know if server has been rebooted or not,
|
|
199
|
-
// and may be upgraded in between, we have to invalidate the extra data type manager
|
|
200
|
-
(0, node_opcua_client_dynamic_extension_object_1.invalidateExtraDataTypeManager)(session);
|
|
201
|
-
// c8 ignore next
|
|
202
|
-
if (doDebug) {
|
|
203
|
-
debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
204
|
-
}
|
|
205
|
-
let newSession;
|
|
206
|
-
const listenerCountBefore = session.listenerCount("");
|
|
207
|
-
function recreateSubscription(subscriptionsToRecreate, innerCallback) {
|
|
208
|
-
async_1.default.forEach(subscriptionsToRecreate, (subscriptionId, next) => {
|
|
209
|
-
// prettier-ignore
|
|
210
|
-
{
|
|
211
|
-
const err = _shouldNotContinue(session);
|
|
212
|
-
if (err) {
|
|
213
|
-
return next(err);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
if (!session.getPublishEngine().hasSubscription(subscriptionId)) {
|
|
217
|
-
doDebug && debugLog(chalk_1.default.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
218
|
-
return next();
|
|
219
|
-
}
|
|
220
|
-
const subscription = session.getPublishEngine().getSubscription(subscriptionId);
|
|
221
|
-
doDebug && debugLog(chalk_1.default.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
222
|
-
(0, node_opcua_assert_1.assert)(subscription.session === newSession, "must have the new session");
|
|
223
|
-
(0, client_subscription_reconnection_1.recreateSubscriptionAndMonitoredItem)(subscription)
|
|
224
|
-
.then(() => {
|
|
183
|
+
function activate_session(client, session, newSession) {
|
|
184
|
+
return new Promise((resolve, reject) => {
|
|
185
|
+
_throwIfShouldNotContinue(session);
|
|
186
|
+
doDebug && debugLog(chalk_1.default.bgWhite.red(" => activating a new session ...."));
|
|
187
|
+
client._activateSession(newSession, newSession.userIdentityInfo, (err, _session1) => {
|
|
188
|
+
// c8 ignore next
|
|
189
|
+
doDebug && debugLog(" => activating a new session .... Done err=", err ? err.message : "null");
|
|
190
|
+
if (err) {
|
|
225
191
|
doDebug &&
|
|
226
|
-
debugLog(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
192
|
+
debugLog("reactivation of the new session has failed: let be smart and close it before failing this repair attempt");
|
|
193
|
+
// but just on the server side, not on the client side
|
|
194
|
+
const closeSessionRequest = new node_opcua_types_1.CloseSessionRequest({
|
|
195
|
+
requestHeader: {
|
|
196
|
+
authenticationToken: newSession.authenticationToken
|
|
197
|
+
},
|
|
198
|
+
deleteSubscriptions: true
|
|
199
|
+
});
|
|
200
|
+
newSession._client?.performMessageTransaction(closeSessionRequest, (err2) => {
|
|
201
|
+
if (err2) {
|
|
202
|
+
warningLog("closing session", err2.message);
|
|
203
|
+
}
|
|
204
|
+
// c8 ignore next
|
|
205
|
+
doDebug && debugLog("the temporary replacement session is now closed");
|
|
206
|
+
// c8 ignore next
|
|
207
|
+
doDebug && debugLog(" err ", err.message, "propagated upwards");
|
|
208
|
+
reject(err);
|
|
209
|
+
});
|
|
240
210
|
}
|
|
241
|
-
|
|
242
|
-
|
|
211
|
+
else {
|
|
212
|
+
resolve();
|
|
243
213
|
}
|
|
244
|
-
innerCallback(err1);
|
|
245
214
|
});
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
async function recreateSubscriptions(session, newSession, subscriptionsToRecreate) {
|
|
218
|
+
for (const subscriptionId of subscriptionsToRecreate) {
|
|
219
|
+
_throwIfShouldNotContinue(session);
|
|
220
|
+
if (!session.getPublishEngine().hasSubscription(subscriptionId)) {
|
|
221
|
+
doDebug && debugLog(chalk_1.default.red(" => CANNOT RECREATE SUBSCRIPTION "), subscriptionId);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
const subscription = session.getPublishEngine().getSubscription(subscriptionId);
|
|
225
|
+
doDebug && debugLog(chalk_1.default.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
|
|
226
|
+
(0, node_opcua_assert_1.assert)(subscription.session === newSession, "must have the new session");
|
|
227
|
+
try {
|
|
228
|
+
await (0, client_subscription_reconnection_1.recreateSubscriptionAndMonitoredItem)(subscription);
|
|
229
|
+
doDebug &&
|
|
230
|
+
debugLog(chalk_1.default.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE subscriptionId="), subscriptionId);
|
|
231
|
+
}
|
|
232
|
+
catch (err) {
|
|
233
|
+
doDebug && debugLog(`_recreateSubscription failed !${err.message}`);
|
|
234
|
+
}
|
|
246
235
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
236
|
+
_throwIfShouldNotContinue(session);
|
|
237
|
+
}
|
|
238
|
+
function attempt_subscription_transfer(_client, session, newSession) {
|
|
239
|
+
return new Promise((resolve, reject) => {
|
|
240
|
+
_throwIfShouldNotContinue(session);
|
|
241
|
+
// get the old subscriptions id from the old session
|
|
242
|
+
const subscriptionsIds = session.getPublishEngine().getSubscriptionIds();
|
|
243
|
+
doDebug && debugLog(" session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
244
|
+
if (subscriptionsIds.length === 0) {
|
|
245
|
+
doDebug && debugLog(" No subscriptions => skipping transfer subscriptions");
|
|
246
|
+
return resolve(); // no need to transfer subscriptions
|
|
247
|
+
}
|
|
248
|
+
doDebug && debugLog(" => asking server to transfer subscriptions = [", subscriptionsIds.join(", "), "]");
|
|
249
|
+
// Transfer subscriptions - ask for initial values....
|
|
250
|
+
const subscriptionsToTransfer = new node_opcua_service_subscription_1.TransferSubscriptionsRequest({
|
|
251
|
+
sendInitialValues: true,
|
|
252
|
+
subscriptionIds: subscriptionsIds
|
|
253
|
+
});
|
|
254
|
+
if (newSession.getPublishEngine().nbPendingPublishRequests !== 0) {
|
|
255
|
+
warningLog("Warning : we should not be publishing here");
|
|
256
|
+
}
|
|
257
|
+
newSession.transferSubscriptions(subscriptionsToTransfer, (err, transferSubscriptionsResponse) => {
|
|
258
|
+
// may be the connection with server has been disconnected
|
|
259
|
+
_throwIfShouldNotContinue(session);
|
|
260
|
+
if (err || !transferSubscriptionsResponse) {
|
|
261
|
+
warningLog(chalk_1.default.bgCyan("May be the server is not supporting this feature"));
|
|
262
|
+
// when transfer subscription has failed, we have no other choice but
|
|
263
|
+
// recreate the subscriptions on the server side
|
|
264
|
+
const subscriptionsToRecreate = [...(subscriptionsToTransfer.subscriptionIds || [])];
|
|
265
|
+
warningLog(chalk_1.default.bgCyan("We need to recreate entirely the subscription"));
|
|
266
|
+
recreateSubscriptions(session, newSession, subscriptionsToRecreate)
|
|
267
|
+
.then(() => resolve())
|
|
268
|
+
.catch((e) => reject(e));
|
|
269
|
+
return;
|
|
255
270
|
}
|
|
271
|
+
const results = transferSubscriptionsResponse.results || [];
|
|
256
272
|
// c8 ignore next
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
innerCallback();
|
|
260
|
-
},
|
|
261
|
-
function create_new_session(innerCallback) {
|
|
262
|
-
create_session_and_repeat_if_failed(client, session, (err, _newSession) => {
|
|
263
|
-
// prettier-ignore
|
|
264
|
-
{
|
|
265
|
-
const err = _shouldNotContinue(session);
|
|
266
|
-
if (err) {
|
|
267
|
-
return innerCallback(err);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
if (_newSession) {
|
|
271
|
-
newSession = _newSession;
|
|
272
|
-
}
|
|
273
|
-
innerCallback(err || undefined);
|
|
274
|
-
});
|
|
275
|
-
},
|
|
276
|
-
function activate_new_session(innerCallback) {
|
|
277
|
-
// prettier-ignore
|
|
278
|
-
{
|
|
279
|
-
const err = _shouldNotContinue(session);
|
|
280
|
-
if (err) {
|
|
281
|
-
return innerCallback(err);
|
|
282
|
-
}
|
|
273
|
+
if (doDebug) {
|
|
274
|
+
debugLog(chalk_1.default.cyan(" => transfer subscriptions done"), results.map((x) => x.statusCode.toString()).join(" "));
|
|
283
275
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
276
|
+
const subscriptionsToRecreate = [];
|
|
277
|
+
// some subscriptions may be marked as invalid on the server side ..
|
|
278
|
+
// those one need to be recreated and repaired ....
|
|
279
|
+
for (let i = 0; i < results.length; i++) {
|
|
280
|
+
const statusCode = results[i].statusCode;
|
|
281
|
+
if (statusCode.equals(node_opcua_status_code_1.StatusCodes.BadSubscriptionIdInvalid)) {
|
|
282
|
+
// repair subscription
|
|
289
283
|
doDebug &&
|
|
290
|
-
debugLog("
|
|
291
|
-
|
|
292
|
-
const closeSessionRequest = new node_opcua_types_1.CloseSessionRequest({
|
|
293
|
-
requestHeader: {
|
|
294
|
-
authenticationToken: newSession.authenticationToken
|
|
295
|
-
},
|
|
296
|
-
deleteSubscriptions: true
|
|
297
|
-
});
|
|
298
|
-
newSession._client.performMessageTransaction(closeSessionRequest, (err2) => {
|
|
299
|
-
if (err2) {
|
|
300
|
-
warningLog("closing session", err2.message);
|
|
301
|
-
}
|
|
302
|
-
// c8 ignore next
|
|
303
|
-
doDebug && debugLog("the temporary replacement session is now closed");
|
|
304
|
-
// c8 ignore next
|
|
305
|
-
doDebug && debugLog(" err ", err.message, "propagated upwards");
|
|
306
|
-
innerCallback(err);
|
|
307
|
-
});
|
|
284
|
+
debugLog(chalk_1.default.red(" WARNING SUBSCRIPTION "), subscriptionsIds[i], chalk_1.default.red(" SHOULD BE RECREATED"));
|
|
285
|
+
subscriptionsToRecreate.push(subscriptionsIds[i]);
|
|
308
286
|
}
|
|
309
287
|
else {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
function beforeSubscriptionRepair(innerCallback) {
|
|
315
|
-
if (!client.beforeSubscriptionRecreate) {
|
|
316
|
-
innerCallback();
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
client
|
|
320
|
-
.beforeSubscriptionRecreate(newSession)
|
|
321
|
-
.then((err) => {
|
|
322
|
-
{
|
|
323
|
-
const err = _shouldNotContinue(session);
|
|
324
|
-
if (err) {
|
|
325
|
-
return innerCallback(err);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
if (!err) {
|
|
329
|
-
innerCallback();
|
|
330
|
-
}
|
|
331
|
-
else {
|
|
332
|
-
innerCallback(err);
|
|
333
|
-
}
|
|
334
|
-
})
|
|
335
|
-
.catch((err) => {
|
|
336
|
-
innerCallback(err);
|
|
337
|
-
});
|
|
338
|
-
},
|
|
339
|
-
function attempt_subscription_transfer(innerCallback) {
|
|
340
|
-
// prettier-ignore
|
|
341
|
-
{
|
|
342
|
-
const err = _shouldNotContinue(session);
|
|
343
|
-
if (err) {
|
|
344
|
-
return innerCallback(err);
|
|
288
|
+
const availableSequenceNumbers = results[i].availableSequenceNumbers;
|
|
289
|
+
doDebug &&
|
|
290
|
+
debugLog(chalk_1.default.green(" SUBSCRIPTION "), subscriptionsIds[i], chalk_1.default.green(" CAN BE REPAIRED AND AVAILABLE "), availableSequenceNumbers);
|
|
291
|
+
// should be Good.
|
|
345
292
|
}
|
|
346
293
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
// repair subscription
|
|
393
|
-
doDebug &&
|
|
394
|
-
debugLog(chalk_1.default.red(" WARNING SUBSCRIPTION "), subscriptionsIds[i], chalk_1.default.red(" SHOULD BE RECREATED"));
|
|
395
|
-
subscriptionsToRecreate.push(subscriptionsIds[i]);
|
|
396
|
-
}
|
|
397
|
-
else {
|
|
398
|
-
const availableSequenceNumbers = results[i].availableSequenceNumbers;
|
|
399
|
-
doDebug &&
|
|
400
|
-
debugLog(chalk_1.default.green(" SUBSCRIPTION "), subscriptionsIds[i], chalk_1.default.green(" CAN BE REPAIRED AND AVAILABLE "), availableSequenceNumbers);
|
|
401
|
-
// should be Good.
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
doDebug && debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
405
|
-
recreateSubscription(subscriptionsToRecreate, innerCallback);
|
|
406
|
-
});
|
|
407
|
-
},
|
|
408
|
-
function ask_for_subscription_republish(innerCallback) {
|
|
409
|
-
// prettier-ignore
|
|
410
|
-
{
|
|
411
|
-
const err = _shouldNotContinue(session);
|
|
412
|
-
if (err) {
|
|
413
|
-
return innerCallback(err);
|
|
414
|
-
}
|
|
294
|
+
doDebug && debugLog(" new session subscriptionCount = ", newSession.getPublishEngine().subscriptionCount);
|
|
295
|
+
recreateSubscriptions(session, newSession, subscriptionsToRecreate)
|
|
296
|
+
.then(() => resolve())
|
|
297
|
+
.catch((e) => reject(e));
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
async function repair_client_session_by_recreating_a_new_session_async(client, session) {
|
|
302
|
+
_throwIfShouldNotContinue(session);
|
|
303
|
+
// As we don't know if server has been rebooted or not,
|
|
304
|
+
// and may be upgraded in between, we have to invalidate the extra data type manager
|
|
305
|
+
(0, node_opcua_client_dynamic_extension_object_1.invalidateExtraDataTypeManager)(session);
|
|
306
|
+
// c8 ignore next
|
|
307
|
+
if (doDebug) {
|
|
308
|
+
debugLog(" repairing client session by_recreating a new session for old session ", session.sessionId.toString());
|
|
309
|
+
}
|
|
310
|
+
const listenerCountBefore = session.listenerCount("");
|
|
311
|
+
// Step 1: suspend old session publish engine
|
|
312
|
+
_throwIfShouldNotContinue(session);
|
|
313
|
+
// c8 ignore next
|
|
314
|
+
doDebug && debugLog(chalk_1.default.bgWhite.red(" => suspend old session publish engine...."));
|
|
315
|
+
session.getPublishEngine().suspend(true);
|
|
316
|
+
// Step 2: create new session
|
|
317
|
+
const newSession = await create_session_and_repeat_if_failed(client, session);
|
|
318
|
+
_throwIfShouldNotContinue(session);
|
|
319
|
+
// Step 3: activate new session
|
|
320
|
+
await activate_session(client, session, newSession);
|
|
321
|
+
_throwIfShouldNotContinue(session);
|
|
322
|
+
// Step 4: before subscription repair hook
|
|
323
|
+
if (client.beforeSubscriptionRecreate) {
|
|
324
|
+
const hookErr = await client.beforeSubscriptionRecreate(newSession);
|
|
325
|
+
_throwIfShouldNotContinue(session);
|
|
326
|
+
if (hookErr) {
|
|
327
|
+
throw hookErr;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
// Step 5: attempt subscription transfer
|
|
331
|
+
await attempt_subscription_transfer(client, session, newSession);
|
|
332
|
+
_throwIfShouldNotContinue(session);
|
|
333
|
+
// Step 6: ask for subscription republish
|
|
334
|
+
await new Promise((resolve, reject) => {
|
|
335
|
+
_ask_for_subscription_republish(newSession, (err) => {
|
|
336
|
+
if (err) {
|
|
337
|
+
warningLog("warning: Subscription republished has failed ", err.message);
|
|
338
|
+
reject(err);
|
|
415
339
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
return _ask_for_subscription_republish(newSession, (err) => {
|
|
419
|
-
if (err) {
|
|
420
|
-
warningLog("warning: Subscription republished has failed ", err.message);
|
|
421
|
-
}
|
|
422
|
-
innerCallback(err);
|
|
423
|
-
});
|
|
424
|
-
},
|
|
425
|
-
function start_publishing_as_normal(innerCallback) {
|
|
426
|
-
// prettier-ignore
|
|
427
|
-
{
|
|
428
|
-
const err = _shouldNotContinue(session);
|
|
429
|
-
if (err) {
|
|
430
|
-
return innerCallback(err);
|
|
431
|
-
}
|
|
340
|
+
else {
|
|
341
|
+
resolve();
|
|
432
342
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
_throwIfShouldNotContinue(session);
|
|
346
|
+
// Step 7: start publishing as normal
|
|
347
|
+
newSession.getPublishEngine().suspend(false);
|
|
348
|
+
const listenerCountAfter = session.listenerCount("");
|
|
349
|
+
(0, node_opcua_assert_1.assert)(newSession === session);
|
|
350
|
+
doDebug && debugLog("listenerCountBefore =", listenerCountBefore, "listenerCountAfter = ", listenerCountAfter);
|
|
351
|
+
}
|
|
352
|
+
function repair_client_session_by_recreating_a_new_session(client, session, callback) {
|
|
353
|
+
repair_client_session_by_recreating_a_new_session_async(client, session)
|
|
354
|
+
.then(() => callback())
|
|
355
|
+
.catch((err) => {
|
|
356
|
+
doDebug && debugLog("repair_client_session_by_recreating_a_new_session failed with ", err.message);
|
|
441
357
|
callback(err);
|
|
442
358
|
});
|
|
443
359
|
}
|
|
@@ -464,7 +380,7 @@ function _repair_client_session(client, session, callback) {
|
|
|
464
380
|
return callback(err);
|
|
465
381
|
}
|
|
466
382
|
}
|
|
467
|
-
client._activateSession(session, session.userIdentityInfo, (err,
|
|
383
|
+
client._activateSession(session, session.userIdentityInfo, (err, _session2) => {
|
|
468
384
|
// prettier-ignore
|
|
469
385
|
{
|
|
470
386
|
const err = _shouldNotContinue(session);
|
|
@@ -568,24 +484,27 @@ function repair_client_session(client, session, callback) {
|
|
|
568
484
|
callback(err);
|
|
569
485
|
});
|
|
570
486
|
}
|
|
571
|
-
function repair_client_sessions(client, callback) {
|
|
487
|
+
async function repair_client_sessions(client, callback) {
|
|
572
488
|
// repair session
|
|
573
489
|
const sessions = client.getSessions();
|
|
574
490
|
doDebug && debugLog(chalk_1.default.red.bgWhite(" Starting sessions reactivation", sessions.length));
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
491
|
+
const allErrors = [];
|
|
492
|
+
for (const session of sessions) {
|
|
493
|
+
await new Promise((resolve) => {
|
|
494
|
+
repair_client_session(client, session, (err) => {
|
|
495
|
+
allErrors.push(err);
|
|
496
|
+
resolve();
|
|
497
|
+
});
|
|
578
498
|
});
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
return callback(err);
|
|
586
|
-
}
|
|
499
|
+
}
|
|
500
|
+
// prettier-ignore
|
|
501
|
+
{
|
|
502
|
+
const err = _shouldNotContinue3(client);
|
|
503
|
+
if (err) {
|
|
504
|
+
return callback(err);
|
|
587
505
|
}
|
|
588
|
-
|
|
589
|
-
|
|
506
|
+
}
|
|
507
|
+
const firstError = allErrors.find((e) => e != null);
|
|
508
|
+
callback(firstError);
|
|
590
509
|
}
|
|
591
510
|
//# sourceMappingURL=reconnection.js.map
|
|
@@ -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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"}
|