Skip to content

Commit

Permalink
add try/catch block in exposeSubscriptionDiagnostic
Browse files Browse the repository at this point in the history
  • Loading branch information
erossignon committed Sep 27, 2022
1 parent 5c8d457 commit 0b1d8e4
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions packages/node-opcua-server/source/server_engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { EventEmitter } from "events";
import * as async from "async";
import * as chalk from "chalk";
import { assert } from "node-opcua-assert";
import { BinaryStream} from "node-opcua-binary-stream";
import { BinaryStream } from "node-opcua-binary-stream";
import {
addElement,
AddressSpace,
Expand Down Expand Up @@ -400,7 +400,7 @@ export class ServerEngine extends EventEmitter {
counter += session.currentSubscriptionCount;
});
// we also need to add the orphan subscriptions
counter += this._orphanPublishEngine ? this._orphanPublishEngine .subscriptions.length : 0;
counter += this._orphanPublishEngine ? this._orphanPublishEngine.subscriptions.length : 0;
return counter;
});

Expand Down Expand Up @@ -1851,7 +1851,7 @@ export class ServerEngine extends EventEmitter {
if (subscription.$session) {
subscription.$session._unexposeSubscriptionDiagnostics(subscription);
}

await ServerSidePublishEngine.transferSubscription(subscription, session.publishEngine, sendInitialValues);
subscription.$session = session;

Expand Down Expand Up @@ -1987,14 +1987,18 @@ export class ServerEngine extends EventEmitter {
}

private _exposeSubscriptionDiagnostics(subscription: Subscription): void {
debugLog("ServerEngine#_exposeSubscriptionDiagnostics", subscription.subscriptionId);
const subscriptionDiagnosticsArray = this._getServerSubscriptionDiagnosticsArrayNode();
const subscriptionDiagnostics = subscription.subscriptionDiagnostics;
assert((subscriptionDiagnostics as any).$subscription === subscription);
assert(subscriptionDiagnostics instanceof SubscriptionDiagnosticsDataType);

if (subscriptionDiagnostics && subscriptionDiagnosticsArray) {
addElement(subscriptionDiagnostics, subscriptionDiagnosticsArray);
try {
debugLog("ServerEngine#_exposeSubscriptionDiagnostics", subscription.subscriptionId);
const subscriptionDiagnosticsArray = this._getServerSubscriptionDiagnosticsArrayNode();
const subscriptionDiagnostics = subscription.subscriptionDiagnostics;
assert((subscriptionDiagnostics as any).$subscription === subscription);
assert(subscriptionDiagnostics instanceof SubscriptionDiagnosticsDataType);

if (subscriptionDiagnostics && subscriptionDiagnosticsArray) {
addElement(subscriptionDiagnostics, subscriptionDiagnosticsArray);
}
} catch (err) {
console.log("err", err);
}
}

Expand Down

0 comments on commit 0b1d8e4

Please sign in to comment.