node-opcua-client 2.95.0 → 2.97.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/private/client_subscription_impl.js +37 -22
- package/dist/private/client_subscription_impl.js.map +1 -1
- package/dist/private/performance.d.ts +1 -0
- package/dist/private/performance.js +19 -0
- package/dist/private/performance.js.map +1 -0
- package/package.json +31 -31
- package/source/private/client_subscription_impl.ts +43 -22
- package/source/private/performance.ts +17 -0
|
@@ -22,6 +22,7 @@ const client_subscription_1 = require("../client_subscription");
|
|
|
22
22
|
const client_monitored_item_toolbox_1 = require("../client_monitored_item_toolbox");
|
|
23
23
|
const client_monitored_item_group_impl_1 = require("./client_monitored_item_group_impl");
|
|
24
24
|
const client_monitored_item_impl_1 = require("./client_monitored_item_impl");
|
|
25
|
+
const performance_1 = require("./performance");
|
|
25
26
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
26
27
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
27
28
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
@@ -535,7 +536,7 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
535
536
|
this.publishingInterval = response.revisedPublishingInterval;
|
|
536
537
|
this.lifetimeCount = response.revisedLifetimeCount;
|
|
537
538
|
this.maxKeepAliveCount = response.revisedMaxKeepAliveCount;
|
|
538
|
-
this.timeoutHint = Math.min((
|
|
539
|
+
this.timeoutHint = Math.min((this.maxKeepAliveCount + 10) * this.publishingInterval * 2, 0x7ffff);
|
|
539
540
|
displayKeepAliveWarning(this.session.timeout, this.maxKeepAliveCount, this.publishingInterval);
|
|
540
541
|
client_subscription_1.ClientSubscription.ignoreNextWarning = false;
|
|
541
542
|
if (doDebug) {
|
|
@@ -652,28 +653,42 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
652
653
|
this.emit("received_notifications", notificationMessage);
|
|
653
654
|
// let publish a global event
|
|
654
655
|
(0, node_opcua_client_dynamic_extension_object_1.promoteOpaqueStructureInNotificationData)(this.session, notificationData).then(() => {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
656
|
+
(0, performance_1.detectLongOperation)(() => {
|
|
657
|
+
// now process all notifications
|
|
658
|
+
for (const notification of notificationData) {
|
|
659
|
+
// istanbul ignore next
|
|
660
|
+
if (!notification) {
|
|
661
|
+
continue;
|
|
662
|
+
}
|
|
663
|
+
// DataChangeNotification / StatusChangeNotification / EventNotification
|
|
664
|
+
switch (notification.schema.name) {
|
|
665
|
+
case "DataChangeNotification":
|
|
666
|
+
// now inform each individual monitored item
|
|
667
|
+
this.__on_publish_response_DataChangeNotification(notification);
|
|
668
|
+
break;
|
|
669
|
+
case "StatusChangeNotification":
|
|
670
|
+
this.__on_publish_response_StatusChangeNotification(notification);
|
|
671
|
+
break;
|
|
672
|
+
case "EventNotificationList":
|
|
673
|
+
this.__on_publish_response_EventNotificationList(notification);
|
|
674
|
+
break;
|
|
675
|
+
default:
|
|
676
|
+
warningLog(" Invalid notification :", notification.toString());
|
|
677
|
+
}
|
|
675
678
|
}
|
|
676
|
-
}
|
|
679
|
+
}, (duration) => {
|
|
680
|
+
const s = (a) => {
|
|
681
|
+
const b = a;
|
|
682
|
+
b.$_slowNotifCount = b.$_slowNotifCount || 0;
|
|
683
|
+
b.$_maxDuration = b.$_maxDuration || 0;
|
|
684
|
+
return b;
|
|
685
|
+
};
|
|
686
|
+
s(this).$_maxDuration = Math.max(s(this).$_maxDuration, duration);
|
|
687
|
+
if (s(this).$_slowNotifCount > 0 && s(this).$_slowNotifCount % 1000 !== 0)
|
|
688
|
+
return;
|
|
689
|
+
s(this).$_slowNotifCount++;
|
|
690
|
+
warningLog(`[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${s(this).$_slowNotifCount} times]\n please ensure that your monitoreItem event handler is not blocking the event loop.`);
|
|
691
|
+
});
|
|
677
692
|
});
|
|
678
693
|
}
|
|
679
694
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_subscription_impl.js","sourceRoot":"","sources":["../../source/private/client_subscription_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,oCAAoC;AACpC,mCAAsC;AACtC,+BAA+B;AAC/B,+BAA+B;AAE/B,yDAA2C;AAC3C,iEAAqD;AACrD,uDAAkF;AAClF,yDAAkD;AAElD,qEAAiF;AACjF,qFAmByC;AAEzC,mEAAiE;AAEjE,0CAA0C;AAC1C,2GAAsG;AACtG,yEAA0G;AAM1G,gEAOgC;AAEhC,oFAA8E;AAC9E,yFAAkF;AAClF,6EAAuE;AAIvE,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAE/C,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAC3C,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAC9C,MAAM,2BAA2B,GAAG,UAAU,CAAC;AAE/C,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,SAAS,uBAAuB,CAAC,cAAsB,EAAE,iBAAyB,EAAE,kBAA0B;IAC1G,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;IAEjE,uBAAuB;IACvB,IAAI,cAAc,GAAG,iBAAiB,EAAE;QACpC,UAAU,CACN,KAAK,CAAC,YAAY,CACd;yCACyB,cAAc;yCACd,iBAAiB;yCACjB,kBAAkB;;kEAEO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;kEACzB,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;;uCAEvD,CAC1B,CACJ,CAAC;QAEF,IAAI,cAAc,GAAG,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;YACrD,UAAU,CAAC,6EAA6E,CAAC,CAAC;SAC7F;QACD,IACI,cAAc,IAAI,IAAI;YACtB,cAAc,GAAG,kBAAkB,GAAG,wBAAwB;YAC9D,iBAAiB,IAAI,wBAAwB,GAAG,CAAC,EACnD;YACE,UAAU,CAAC,gGAAgG,CAAC,CAAC;SAChH;QAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1G,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAM,sBAAsB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;QAC3E,UAAU,CACN,mEAAmE,sBAAsB;mEAClC,uBAAuB;qFACL,sBAAsB;;;;;;CAM1G,CACQ,CAAC;QAEF,IAAI,CAAC,wCAAkB,CAAC,iBAAiB,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;SAChH;QACD,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,+CAA+C,CACpD,OAAsD,EACtD,yBAAsD,EACtD,QAA8E;IAE9E,IAAA,+CAAmB,EAAC,OAAO,CAAC;SACvB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;QACxB,IAAA,qDAAyB,EAAC,iBAAiB,CAAC,wBAAwB,IAAI,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC;aACzG,IAAI,CAAC,CAAC,2BAA2B,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;aAClF,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC;SACD,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED,MAAa,sBAAuB,SAAQ,qBAAY;IACpD;;;;OAIG;IACH,IAAW,OAAO;QACd,IAAA,0BAAM,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,aAAa,CAAC,OAA6B,CAAC;IAC5D,CAAC;IACD,IAAW,UAAU;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACxC,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,CAAC,CACJ,IAAI,CAAC,cAAc,KAAK,uBAAuB;YAC/C,IAAI,CAAC,cAAc,KAAK,0BAA0B;YAClD,IAAI,CAAC,cAAc,KAAK,2BAA2B,CACtD,CAAC;IACN,CAAC;IAoBD,YAAY,OAAsB,EAAE,OAAkC;QAClE,KAAK,EAAE,CAAC;QAXL,wBAAmB,GAA+B,EAAE,CAAC;QAErD,gBAAW,GAAG,CAAC,CAAC;QAKf,sBAAiB,GAAG,CAAC,CAAC;QAM1B,MAAM,WAAW,GAAG,OAA4B,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAEpD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;QAE7B,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,IAAI,GAAG,CAAC;QACjF,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACtE,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC;QAC9E,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAC;QAE5G,4BAA4B;QAC5B,MAAM,cAAc,GAAG,uBAAuB,CAC1C,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,0BAA0B,EAClC,OAAO,CAAC,2BAA2B,CACtC,CAAC;QACF,uBAAuB;QACvB,IAAI,cAAc,EAAE;YAChB,UAAU,CACN,IAAI,CAAC,SAAS,mBAEH,OAAO,GAEd,IAAI,EACJ,GAAG,CACN,CACJ,CAAC;SACL;QAED,OAAO,CAAC,0BAA0B,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,0BAA0B,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;QAEzC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACxD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,2BAA2B,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,0BAA0B,CAAC;QAC5D,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAEhD;;;;;WAKG;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACvC,IAAI,CAAC,GAAG,EAAE;oBACN,YAAY,CAAC,GAAG,EAAE;wBACd;;;2BAGG;wBACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,YAAY,CAAC,GAAG,EAAE;wBACd;;;2BAGG;wBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,SAAS,CAAC,GAAG,IAAW;QAC3B,QAAQ,CAAC,kCAAkC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,EAAE,+BAA+B,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,cAAc,KAAK,0BAA0B,IAAI,IAAI,CAAC,cAAc,KAAK,2BAA2B,EAAE;YAC3G,oCAAoC;YACpC,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACpD;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,2BAA2B,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAE1D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aAC1C;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;aAC5C;YACD,OAAO,CAAC,mBAAmB,CACvB;gBACI,eAAe,EAAE,CAAC,cAAc,CAAC;aACpC,EACD,CAAC,GAAiB,EAAE,QAAsC,EAAE,EAAE;gBAC1D,IAAI,QAAQ,IAAI,QAAS,CAAC,OAAQ,CAAC,CAAC,CAAC,KAAK,oCAAW,CAAC,IAAI,EAAE;oBACxD,QAAQ,CAAC,uCAAuC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACvE;gBACD,IAAI,GAAG,EAAE;oBACL;;;;uBAIG;oBACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;iBACpC;gBACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC,CACJ,CAAC;SACL;aAAM;YACH,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,uBAAuB,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACnC;IACL,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAeM,OAAO,CAAC,GAAG,IAAW;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAuB,CAAC;QACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAgC,CAAC;QACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAuB,CAAC;QACzD,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,gDAAc,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAoB,CAAC;QAC9G,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAsC,CAAC;QAEtG,IAAA,0BAAM,EAAC,OAAO,IAAI,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAEhE,aAAa,CAAC,MAAM,GAAG,IAAA,iCAAa,EAAC,aAAa,CAAC,MAAO,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAG,0BAA0B,CAC5C,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,CAAC,IAAmB,EAAE,cAAoC,EAAE,EAAE;YAC1D,IAAI,IAAI,EAAE;gBACN,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC,CACJ,CAAC;IACN,CAAC;IAcM,YAAY,CAAC,GAAG,IAAW;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAyB,CAAC;QACvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAgC,CAAC;QACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAuB,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAuC,CAAC;QAE3D,MAAM,kBAAkB,GAAG,IAAI,+DAA4B,CAAC,IAAI,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;QAE3H,IAAI,CAAC,kCAAkC,CAAC,CAAC,GAAW,EAAE,EAAE;YACpD,IAAI,GAAG,EAAE;gBACL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;YACD,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAY,EAAE,EAAE;gBACzC,IAAI,IAAI,EAAE;oBACN,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7B;gBACD,IAAI,CAAC,IAAK,EAAE,kBAAkB,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,uBAAuB,CAAC,cAAyC,EAAE,QAAuB;QAC7F,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,IAAA,0BAAM,EAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAEtC,IAAA,0BAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/B;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAA4B,CAAC;QAClD,OAAO,CAAC,oBAAoB,CACxB;YACI,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;YACtF,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,EACD,CAAC,GAAiB,EAAE,QAAuC,EAAE,EAAE;YAC3D,QAAQ,CAAC,GAAI,CAAC,CAAC;QACnB,CAAC,CACJ,CAAC;IACN,CAAC;IAIM,iBAAiB,CAAC,GAAG,IAAW;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAY,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAyB,CAAC;QACjD,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA4B,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAC5C;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAgC,CAAC;QAC7D,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,GAAiB,EAAE,UAAuB,EAAE,EAAE;YACxG,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,0BAA0B;YAC1B,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD;YACD,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE;gBACxB,OAAO,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aACrC;YACD,QAAQ,CAAC,IAAI,EAAE,oCAAW,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAgBM,aAAa,CAAC,GAAG,IAAW;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAA4B,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAqC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAqC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAoC,CAAC;QAC5D,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA4B,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAC5C;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,MAAM,gBAAgB,GAAG,cAAc,CAAC,eAAgB,CAAC;QAEzD,MAAM,oBAAoB,GAAG,IAAI,sDAAoB,CAAC;YAClD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;YACzE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;YAClF,cAAc;YACd,gBAAgB;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,GAAiB,EAAE,QAAgC,EAAE,EAAE;YAChG,IAAI,GAAG,EAAE;gBACL,IAAI,QAAQ,EAAE;oBACV,gCAAgC;oBAChC,OAAO,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;iBACnC;qBAAM;oBACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACxB;aACJ;YACD,uBAAuB;YACvB,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD;YACD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAKM,MAAM,CAAC,GAAG,IAAW;QACxB,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,CAAqC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAuC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAA4B,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAC5C;QAED,yBAAyB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE/D,yBAAyB,CAAC,QAAQ;YAC9B,yBAAyB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QAC1G,yBAAyB,CAAC,sBAAsB;YAC5C,yBAAyB,CAAC,sBAAsB,KAAK,SAAS;gBAC1D,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,yBAAyB,CAAC,sBAAsB,CAAC;QAC3D,yBAAyB,CAAC,0BAA0B;YAChD,yBAAyB,CAAC,0BAA0B,KAAK,SAAS;gBAC9D,CAAC,CAAC,IAAI,CAAC,iBAAiB;gBACxB,CAAC,CAAC,yBAAyB,CAAC,0BAA0B,CAAC;QAC/D,yBAAyB,CAAC,2BAA2B;YACjD,yBAAyB,CAAC,2BAA2B,KAAK,SAAS;gBAC/D,CAAC,CAAC,IAAI,CAAC,kBAAkB;gBACzB,CAAC,CAAC,yBAAyB,CAAC,2BAA2B,CAAC;QAChE,yBAAyB,CAAC,0BAA0B;YAChD,yBAAyB,CAAC,0BAA0B,KAAK,SAAS;gBAC9D,CAAC,CAAC,IAAI,CAAC,0BAA0B;gBACjC,CAAC,CAAC,yBAAyB,CAAC,0BAA0B,CAAC;QAE/D,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,CAAC,GAAiB,EAAE,QAAqC,EAAE,EAAE;YAC/G,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,yBAAyB,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;YAC3D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAIM,iBAAiB,CAAC,GAAG,IAAW;QACnC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACI,oCAAoC,CAAC,QAAuB;QAC/D,QAAQ,CAAC,yDAAyD,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,cAAc,KAAK,0BAA0B,EAAE;YACpD,QAAQ,CAAC,sCAAsC,CAAC,CAAC;YACjD,OAAO,QAAQ,EAAE,CAAC;SACrB;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;QAE9C,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE/D,KAAK,CAAC,MAAM,CACR;YACI,CAAC,aAA4B,EAAE,EAAE;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YACD,CAAC,aAA4B,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAErE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBACnF,4BAA4B;gBAC5B,MAAM,aAAa,GAAwC,EAAE,CAAC;gBAE9D,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;oBAC1D,IAAA,0BAAM,EAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBAC5D,aAAa,CAAC,IAAI,CAAC;wBACf,aAAa,EAAE,aAAa,CAAC,aAAa;wBAC1C,cAAc,EAAE,aAAa,CAAC,cAAc;wBAC5C,mBAAmB,EAAE,aAAa,CAAC,oBAAoB;qBAC1D,CAAC,CAAC;iBACN;gBAED,MAAM,yBAAyB,GAAG,IAAI,6DAA2B,CAAC;oBAC9D,aAAa;oBACb,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,kBAAkB,EAAE,4CAAkB,CAAC,IAAI,CAAC,2BAA2B;iBAC1E,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,uBAAuB;gBACvB,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;iBACjD;gBAED,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBAElE,+CAA+C,CAC3C,OAAO,EACP,yBAAyB,EACzB,CAAC,GAAiB,EAAE,QAAuC,EAAE,EAAE;oBAC3D,IAAI,GAAG,EAAE;wBACL,QAAQ,CAAC,4CAA4C,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;wBACpE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;qBAC7B;oBACD,0BAA0B;oBAC1B,IAAI,CAAC,QAAQ,EAAE;wBACX,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBACrD;oBACD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;oBAEpD,oBAAoB,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE;wBACxD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC1C,0BAA0B;wBAC1B,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;4BACpD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;yBACrC;wBACD,MAAM,YAAY,GAAG,YAAY,CAAC,mBAAmB,CAAC,YAAY,CAAC;wBACnE,0BAA0B;wBAC1B,IAAI,CAAC,YAAY,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;yBACrC;wBACD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAA4B,CAAC;wBACnF,IAAI,aAAa,EAAE;4BACf,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;yBACnD;6BAAM;4BACH,UAAU,CAAC,gDAAgD,EAAE,YAAY,CAAC,CAAC;yBAC9E;oBACL,CAAC,CAAC,CAAC;oBACH,aAAa,EAAE,CAAC;gBACpB,CAAC,CACJ,CAAC;YACN,CAAC;SACJ,EACD,CAAC,GAAG,EAAE,EAAE;YACJ,IAAI,GAAG,EAAE;gBACL,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC3B;YACD,QAAQ,CAAC,GAAI,CAAC,CAAC;QACnB,CAAC,CACJ,CAAC;IACN,CAAC;IAEM,QAAQ;QACX,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7D,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjE,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5D,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChE,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAChE,GAAG,IAAI,wBAAwB,GAAG,UAAU,GAAG,IAAI,CAAC;QACpD,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,KAAK,GACP,QAAQ,GAAG,UAAU,GAAG,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;YAC5E,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;QAEpF,GAAG,IAAI,wBAAwB,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QACjE,GAAG,IAAI,wBAAwB,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;QAEjE,GAAG,IAAI,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAClE,GAAG,IAAI,yCAAyC,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAE7G,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACI,yBAAyB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;IACzC,CAAC;IAEM,mBAAmB,CAAC,YAA0B,EAAE,aAAsC;QACzF,IAAA,0BAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAC;QACxE,IAAA,0BAAM,EAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;QAElD;;;;WAIG;QACH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;IAEM,0BAA0B,CAAC,kBAAgD;QAC9E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAEM,kCAAkC,CAAC,IAAmB;QACzD,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,MAAM,6BAA6B,GAAG,GAAG,EAAE;YACvC,cAAc,EAAE,CAAC;YAEjB,IAAI,IAAI,CAAC,cAAc,KAAK,uBAAuB,EAAE;gBACjD,4EAA4E;gBAC5E,6DAA6D;gBAC7D,YAAY,CAAC,6BAA6B,CAAC,CAAC;aAC/C;iBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,0BAA0B,EAAE;gBAC3D,uDAAuD;gBACvD,+DAA+D;gBAC/D,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;oBAC5B,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;iBACpD;aACJ;iBAAM;gBACH,IAAI,EAAE,CAAC;aACV;QACL,CAAC,CAAC;QAEF,YAAY,CAAC,6BAA6B,CAAC,CAAC;IAChD,CAAC;IAEO,qBAAqB,CAAC,QAAuB;QACjD,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QAEvC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAC5C;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,IAAI,2DAAyB,CAAC;YAC1C,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,sBAAsB,EAAE,IAAI,CAAC,aAAa;YAC1C,0BAA0B,EAAE,IAAI,CAAC,iBAAiB;YAClD,2BAA2B,EAAE,IAAI,CAAC,kBAAkB;SACvD,CAAC,CAAC;QAEH,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAAqC,EAAE,EAAE;YAC7F,IAAI,GAAG,EAAE;gBACL,0BAA0B;gBAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACjC,IAAI,QAAQ,EAAE;oBACV,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,OAAO;aACV;YAED,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;aAC9E;YACD,IAAA,0BAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAExB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;YAC9C,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,yBAAyB,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;YAE3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAEpG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/F,wCAAkB,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE7C,IAAI,OAAO,EAAE;gBACT,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACpD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC1F,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrF,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzF,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnF,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnF,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACtF;YAED,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,QAAQ,EAAE;gBACV,QAAQ,EAAE,CAAC;aACd;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4CAA4C,CAAC,YAAoC;QACrF,IAAA,0BAAM,EAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;QAEzD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACvE,IAAI,cAAc,EAAE;gBAChB,IAAI,cAAc,CAAC,aAAa,CAAC,WAAW,KAAK,oCAAY,CAAC,aAAa,EAAE;oBACzE,UAAU,CACN,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EACvB,KAAK,CAAC,IAAI,CACN,6DAA6D,GAAG,qCAAqC,CACxG,CACJ,CAAC;oBACF,UAAU,CACN,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,EAClE,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CACvD,CAAC;iBACL;qBAAM;oBACH,MAAM,iBAAiB,GAAG,cAAyC,CAAC;oBACpE,iBAAiB,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC/D;aACJ;iBAAM;gBACH,QAAQ,IAAI,CAAC,CAAC;gBACd,IAAI,QAAQ,KAAK,CAAC,EAAE;oBAChB,UAAU,CACN,yEAAyE,EACzE,aAAa,CAAC,YAAY,CAC7B,CAAC;iBACL;aACJ;SACJ;QACD,uBAAuB;QACvB,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,UAAU,CAAC,2BAA2B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC9D;IACL,CAAC;IAEO,8CAA8C,CAAC,YAAsC;QACzF,IAAA,0BAAM,EAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,0BAA0B,CAAC,CAAC;QAEhE,QAAQ,CAAC,mDAAmD,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9F,IAAI,YAAY,CAAC,MAAM,KAAK,oCAAW,CAAC,2BAA2B,EAAE;YACjE,yEAAyE;YACzE,sFAAsF;YACtF,uEAAuE;YACvE,mDAAmD;YACnD,QAAQ,CAAC,iGAAiG,CAAC,CAAC;YAE5G,kGAAkG;SACrG;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,oCAAW,CAAC,UAAU,EAAE;YAChD,8DAA8D;YAC9D,6FAA6F;YAC7F,sBAAsB;YACtB,EAAE;YACF,wEAAwE;YACxE,EAAE;YACF,sGAAsG;YACtG,4FAA4F;YAC5F,gGAAgG;YAChG,oGAAoG;YACpG,mGAAmG;YACnG,sGAAsG;YACtG,qGAAqG;YACrG,0DAA0D;YAC1D,EAAE;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBAChB,WAAW;YACf,CAAC,CAAC,CAAC;SACN;QACD;;;WAGG;QACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAEO,2CAA2C,CAAC,YAAmC;QACnF,IAAA,0BAAM,EAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAA,0BAAM,EAAC,cAAc,EAAE,4BAA4B,CAAC,CAAC;YAErD,MAAM,iBAAiB,GAAG,cAAyC,CAAC;YACpE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;SAC5D;IACL,CAAC;IAEM,qBAAqB,CAAC,mBAAwC;QACjE,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,cAAc,CAAC;QAE7D,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;QAEnD,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,IAAI,EAAE,CAAuB,CAAC;QAE5F,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,+BAA+B;YAC/B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;YAClF;;;eAGG;YACH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1B;aAAM;YACH;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;YACzD,6BAA6B;YAE7B,IAAA,qFAAwC,EAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/E,gCAAgC;gBAChC,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;oBACzC,uBAAuB;oBACvB,IAAI,CAAC,YAAY,EAAE;wBACf,SAAS;qBACZ;oBAED,wEAAwE;oBACxE,QAAQ,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;wBAC9B,KAAK,wBAAwB;4BACzB,4CAA4C;4BAC5C,IAAI,CAAC,4CAA4C,CAAC,YAAsC,CAAC,CAAC;4BAC1F,MAAM;wBACV,KAAK,0BAA0B;4BAC3B,IAAI,CAAC,8CAA8C,CAAC,YAAwC,CAAC,CAAC;4BAC9F,MAAM;wBACV,KAAK,uBAAuB;4BACxB,IAAI,CAAC,2CAA2C,CAAC,YAAqC,CAAC,CAAC;4BACxF,MAAM;wBACV;4BACI,UAAU,CAAC,yBAAyB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACtE;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,gBAAgB,CAAC,QAA+B;QACpD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC/B;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrD,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;SACzC;QAED,IAAA,0BAAM,EAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAExD,YAAY,CAAC,GAAG,EAAE;YACd;;;eAGG;YACH,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,OAAO,CAAC,aAAsC;QAClD,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC;QACrE,IAAA,0BAAM,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE;YAC1E,OAAO,CAAC,kDAAkD;SAC7D;QACD,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhF,MAAM,IAAI,GAAG,aAAwC,CAAC;QACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAEM,YAAY,CAAC,kBAA4C;QAC3D,kBAA0B,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC;IACpG,CAAC;IACD;;;;;OAKG;IACI,oBAAoB,CACvB,aAAiC,EACjC,oBAAiD,EACjD,kBAAsC,EACtC,iBAAiC,gDAAc,CAAC,SAAS;QAEzD,yBAAyB;QACzB,MAAM,aAAa,GAAG,IAAI,oDAAuB,CAC7C,IAAI,EACJ,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,CACjB,CAAC;QACF,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AAp1BD,wDAo1BC;AAED,SAAgB,0BAA0B,CACtC,YAAgC,EAChC,aAAiC,EACjC,oBAAiD,EACjD,kBAAsC,EACtC,iBAAiC,gDAAc,CAAC,SAAS,EACzD,QAA6E;IAE7E,MAAM,aAAa,GAAG,IAAI,oDAAuB,CAC7C,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,CACjB,CAAC;IAEF,YAAY,CAAC,GAAG,EAAE;QACb,YAAuC,CAAC,kCAAkC,CAAC,CAAC,GAAW,EAAE,EAAE;YACxF,IAAI,GAAG,EAAE;gBACL,IAAI,QAAQ,EAAE;oBACV,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACjB;gBACD,OAAO;aACV;YACD,0DAA0B,CAAC,gBAAgB,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC5G,IAAI,IAAI,EAAE;oBACN,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBAC3C;gBACD,IAAI,QAAQ,EAAE;oBACV,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACzB,CAAC;AAnCD,gEAmCC;AACD,iCAAiC;AACjC,iCAAiC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAElC,sBAAsB,CAAC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAC9H,sBAAsB,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC1G,sBAAsB,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACpH,sBAAsB,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACtH,sBAAsB,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACxG,sBAAsB,CAAC,SAAS,CAAC,oCAAoC,GAAG,OAAO,CAAC,YAAY,CACxF,sBAAsB,CAAC,SAAS,CAAC,oCAAoC,CACxE,CAAC;AACF,sBAAsB,CAAC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9G,sBAAsB,CAAC,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAE9H,wCAAkB,CAAC,MAAM,GAAG,CAAC,aAA4B,EAAE,OAAkC,EAAE,EAAE;IAC7F,OAAO,IAAI,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"client_subscription_impl.js","sourceRoot":"","sources":["../../source/private/client_subscription_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function detectLongOperation(lambda: () => void, onLongOperation: (duration: number) => void): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectLongOperation = void 0;
|
|
4
|
+
const LONG_EVENT_HANDLER = process.env.NODEOPCUA_LONG_EVENT_HANDLER ? parseFloat(process.env.NODEOPCUA_LONG_EVENT_HANDLER) : 100; // how long a write can take before we log a warning
|
|
5
|
+
const convertHrtimeToMilliseconds = (hrtime) => {
|
|
6
|
+
const seconds = hrtime[0];
|
|
7
|
+
const nanoseconds = hrtime[1];
|
|
8
|
+
return seconds * 1e3 + nanoseconds * 1e-6;
|
|
9
|
+
};
|
|
10
|
+
function detectLongOperation(lambda, onLongOperation) {
|
|
11
|
+
const start = process.hrtime();
|
|
12
|
+
lambda();
|
|
13
|
+
const duration = convertHrtimeToMilliseconds(process.hrtime(start));
|
|
14
|
+
if (duration > LONG_EVENT_HANDLER) {
|
|
15
|
+
onLongOperation(duration);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.detectLongOperation = detectLongOperation;
|
|
19
|
+
//# sourceMappingURL=performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../source/private/performance.ts"],"names":[],"mappings":";;;AACA,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,oDAAoD;AAEvL,MAAM,2BAA2B,GAAG,CAAC,MAAwB,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,OAAO,GAAG,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC;AAC9C,CAAC,CAAC;AAEF,SAAgB,mBAAmB,CAAC,MAAkB,EAAE,eAAyC;IAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,IAAI,QAAQ,GAAG,kBAAkB,EAAE;QAC/B,eAAe,CAAC,QAAQ,CAAC,CAAC;KAC7B;AACL,CAAC;AAPD,kDAOC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.97.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.97.0",
|
|
24
24
|
"node-opcua-buffer-utils": "2.90.1",
|
|
25
25
|
"node-opcua-certificate-manager": "2.92.0",
|
|
26
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
27
|
-
"node-opcua-common": "2.
|
|
26
|
+
"node-opcua-client-dynamic-extension-object": "2.97.0",
|
|
27
|
+
"node-opcua-common": "2.97.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.
|
|
30
|
+
"node-opcua-data-model": "2.97.0",
|
|
31
|
+
"node-opcua-data-value": "2.97.0",
|
|
32
32
|
"node-opcua-date-time": "2.90.1",
|
|
33
33
|
"node-opcua-debug": "2.90.1",
|
|
34
|
-
"node-opcua-extension-object": "2.
|
|
34
|
+
"node-opcua-extension-object": "2.97.0",
|
|
35
35
|
"node-opcua-hostname": "2.88.0",
|
|
36
|
-
"node-opcua-nodeid": "2.
|
|
36
|
+
"node-opcua-nodeid": "2.97.0",
|
|
37
37
|
"node-opcua-object-registry": "2.90.1",
|
|
38
38
|
"node-opcua-pki": "^3.0.2",
|
|
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.
|
|
39
|
+
"node-opcua-pseudo-session": "2.97.0",
|
|
40
|
+
"node-opcua-schemas": "2.97.0",
|
|
41
|
+
"node-opcua-secure-channel": "2.97.0",
|
|
42
|
+
"node-opcua-service-browse": "2.97.0",
|
|
43
|
+
"node-opcua-service-call": "2.97.0",
|
|
44
|
+
"node-opcua-service-discovery": "2.97.0",
|
|
45
|
+
"node-opcua-service-endpoints": "2.97.0",
|
|
46
|
+
"node-opcua-service-filter": "2.97.0",
|
|
47
|
+
"node-opcua-service-history": "2.97.0",
|
|
48
|
+
"node-opcua-service-query": "2.97.0",
|
|
49
|
+
"node-opcua-service-read": "2.97.0",
|
|
50
|
+
"node-opcua-service-register-node": "2.97.0",
|
|
51
|
+
"node-opcua-service-secure-channel": "2.97.0",
|
|
52
|
+
"node-opcua-service-session": "2.97.0",
|
|
53
|
+
"node-opcua-service-subscription": "2.97.0",
|
|
54
|
+
"node-opcua-service-translate-browse-path": "2.97.0",
|
|
55
|
+
"node-opcua-service-write": "2.97.0",
|
|
56
56
|
"node-opcua-status-code": "2.90.1",
|
|
57
|
-
"node-opcua-types": "2.
|
|
57
|
+
"node-opcua-types": "2.97.0",
|
|
58
58
|
"node-opcua-utils": "2.90.1",
|
|
59
|
-
"node-opcua-variant": "2.
|
|
59
|
+
"node-opcua-variant": "2.97.0",
|
|
60
60
|
"once": "^1.4.0",
|
|
61
61
|
"thenify": "^3.3.1"
|
|
62
62
|
},
|
|
@@ -64,11 +64,11 @@
|
|
|
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.
|
|
67
|
+
"node-opcua-address-space": "2.97.0",
|
|
68
68
|
"node-opcua-binary-stream": "2.90.1",
|
|
69
|
-
"node-opcua-factory": "2.
|
|
69
|
+
"node-opcua-factory": "2.97.0",
|
|
70
70
|
"node-opcua-leak-detector": "2.90.1",
|
|
71
|
-
"node-opcua-nodesets": "2.
|
|
71
|
+
"node-opcua-nodesets": "2.96.0",
|
|
72
72
|
"should": "^13.2.3",
|
|
73
73
|
"sinon": "^15.0.1",
|
|
74
74
|
"underscore": "^1.13.6"
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"internet of things"
|
|
94
94
|
],
|
|
95
95
|
"homepage": "http://node-opcua.github.io/",
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "19c96bda0810d2dec73dd1c2427546be40908646"
|
|
97
97
|
}
|
|
@@ -57,6 +57,7 @@ import { ClientMonitoredItemGroupImpl } from "./client_monitored_item_group_impl
|
|
|
57
57
|
import { ClientMonitoredItemImpl } from "./client_monitored_item_impl";
|
|
58
58
|
import { ClientSidePublishEngine } from "./client_publish_engine";
|
|
59
59
|
import { ClientSessionImpl } from "./client_session_impl";
|
|
60
|
+
import { detectLongOperation } from "./performance";
|
|
60
61
|
|
|
61
62
|
const debugLog = make_debugLog(__filename);
|
|
62
63
|
const doDebug = checkDebugFlag(__filename);
|
|
@@ -754,7 +755,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
754
755
|
this.lifetimeCount = response.revisedLifetimeCount;
|
|
755
756
|
this.maxKeepAliveCount = response.revisedMaxKeepAliveCount;
|
|
756
757
|
|
|
757
|
-
this.timeoutHint = Math.min((
|
|
758
|
+
this.timeoutHint = Math.min((this.maxKeepAliveCount + 10) * this.publishingInterval * 2, 0x7ffff);
|
|
758
759
|
|
|
759
760
|
displayKeepAliveWarning(this.session.timeout, this.maxKeepAliveCount, this.publishingInterval);
|
|
760
761
|
ClientSubscription.ignoreNextWarning = false;
|
|
@@ -898,29 +899,49 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
898
899
|
// let publish a global event
|
|
899
900
|
|
|
900
901
|
promoteOpaqueStructureInNotificationData(this.session, notificationData).then(() => {
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
902
|
+
detectLongOperation(
|
|
903
|
+
() => {
|
|
904
|
+
// now process all notifications
|
|
905
|
+
for (const notification of notificationData) {
|
|
906
|
+
// istanbul ignore next
|
|
907
|
+
if (!notification) {
|
|
908
|
+
continue;
|
|
909
|
+
}
|
|
907
910
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
911
|
+
// DataChangeNotification / StatusChangeNotification / EventNotification
|
|
912
|
+
switch (notification.schema.name) {
|
|
913
|
+
case "DataChangeNotification":
|
|
914
|
+
// now inform each individual monitored item
|
|
915
|
+
this.__on_publish_response_DataChangeNotification(notification as DataChangeNotification);
|
|
916
|
+
break;
|
|
917
|
+
case "StatusChangeNotification":
|
|
918
|
+
this.__on_publish_response_StatusChangeNotification(notification as StatusChangeNotification);
|
|
919
|
+
break;
|
|
920
|
+
case "EventNotificationList":
|
|
921
|
+
this.__on_publish_response_EventNotificationList(notification as EventNotificationList);
|
|
922
|
+
break;
|
|
923
|
+
default:
|
|
924
|
+
warningLog(" Invalid notification :", notification.toString());
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
(duration: number) => {
|
|
929
|
+
const s = (a: unknown) => {
|
|
930
|
+
const b = a as { $_slowNotifCount: number; $_maxDuration: number };
|
|
931
|
+
b.$_slowNotifCount = b.$_slowNotifCount || 0;
|
|
932
|
+
b.$_maxDuration = b.$_maxDuration || 0;
|
|
933
|
+
return b;
|
|
934
|
+
};
|
|
935
|
+
s(this).$_maxDuration = Math.max(s(this).$_maxDuration, duration);
|
|
936
|
+
if (s(this).$_slowNotifCount > 0 && s(this).$_slowNotifCount % 1000 !== 0) return;
|
|
937
|
+
s(this).$_slowNotifCount++;
|
|
938
|
+
warningLog(
|
|
939
|
+
`[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${
|
|
940
|
+
s(this).$_slowNotifCount
|
|
941
|
+
} times]\n please ensure that your monitoreItem event handler is not blocking the event loop.`
|
|
942
|
+
);
|
|
922
943
|
}
|
|
923
|
-
|
|
944
|
+
);
|
|
924
945
|
});
|
|
925
946
|
}
|
|
926
947
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
const LONG_EVENT_HANDLER = process.env.NODEOPCUA_LONG_EVENT_HANDLER ? parseFloat(process.env.NODEOPCUA_LONG_EVENT_HANDLER) : 100; // how long a write can take before we log a warning
|
|
3
|
+
|
|
4
|
+
const convertHrtimeToMilliseconds = (hrtime: [number, number]) => {
|
|
5
|
+
const seconds = hrtime[0];
|
|
6
|
+
const nanoseconds = hrtime[1];
|
|
7
|
+
return seconds * 1e3 + nanoseconds * 1e-6;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function detectLongOperation(lambda: () => void, onLongOperation:(duration: number )=>void): void {
|
|
11
|
+
const start = process.hrtime();
|
|
12
|
+
lambda();
|
|
13
|
+
const duration = convertHrtimeToMilliseconds(process.hrtime(start));
|
|
14
|
+
if (duration > LONG_EVENT_HANDLER) {
|
|
15
|
+
onLongOperation(duration);
|
|
16
|
+
}
|
|
17
|
+
}
|