node-opcua-client 2.158.0 → 2.160.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_monitored_item_base.d.ts +18 -9
- package/dist/client_monitored_item_toolbox.d.ts +4 -1
- package/dist/client_monitored_item_toolbox.js +17 -1
- package/dist/client_monitored_item_toolbox.js.map +1 -1
- package/dist/client_subscription.d.ts +12 -12
- package/dist/private/client_monitored_item_group_impl.d.ts +2 -2
- package/dist/private/client_monitored_item_group_impl.js +1 -0
- package/dist/private/client_monitored_item_group_impl.js.map +1 -1
- package/dist/private/client_monitored_item_impl.d.ts +4 -3
- package/dist/private/client_monitored_item_impl.js +17 -14
- package/dist/private/client_monitored_item_impl.js.map +1 -1
- package/dist/private/client_subscription_impl.d.ts +5 -4
- package/dist/private/client_subscription_impl.js +34 -23
- package/dist/private/client_subscription_impl.js.map +1 -1
- package/package.json +30 -29
- package/source/client_monitored_item_base.ts +18 -9
- package/source/client_monitored_item_toolbox.ts +26 -2
- package/source/client_subscription.ts +13 -13
- package/source/private/client_monitored_item_group_impl.ts +3 -2
- package/source/private/client_monitored_item_impl.ts +27 -23
- package/source/private/client_subscription_impl.ts +39 -26
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
import { EventEmitter } from "events";
|
|
5
5
|
import { DataValue } from "node-opcua-data-value";
|
|
6
6
|
import { ExtensionObject } from "node-opcua-extension-object";
|
|
7
|
-
import {
|
|
7
|
+
import { TimestampsToReturn } from "node-opcua-service-read";
|
|
8
8
|
import { MonitoredItemCreateResult, MonitoringMode, MonitoringParameters, MonitoringParametersOptions } from "node-opcua-service-subscription";
|
|
9
9
|
import { StatusCode } from "node-opcua-status-code";
|
|
10
10
|
import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
11
11
|
import { Variant } from "node-opcua-variant";
|
|
12
|
+
import { NumericRange } from "node-opcua-numeric-range";
|
|
13
|
+
import { QualifiedNameLike } from "node-opcua-data-model";
|
|
14
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
15
|
+
import { AttributeIds } from "node-opcua-basic-types";
|
|
12
16
|
import { ClientSubscription } from "./client_subscription";
|
|
13
17
|
export interface ClientMonitoredItemOrGroupAction {
|
|
14
18
|
modify(parameters: MonitoringParametersOptions, timestampsToReturn?: TimestampsToReturn): Promise<StatusCode>;
|
|
@@ -27,12 +31,17 @@ export interface ClientMonitoredItemBase extends EventEmitter, ClientMonitoredIt
|
|
|
27
31
|
on(event: "initialized", eventHandler: () => void): this;
|
|
28
32
|
}
|
|
29
33
|
export interface ClientMonitoredItemBase {
|
|
30
|
-
itemToMonitor:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
readonly itemToMonitor: {
|
|
35
|
+
nodeId: NodeId;
|
|
36
|
+
attributeId: AttributeIds;
|
|
37
|
+
indexRange?: NumericRange | undefined;
|
|
38
|
+
dataEncoding?: QualifiedNameLike | null;
|
|
39
|
+
};
|
|
40
|
+
readonly monitoringParameters: MonitoringParameters;
|
|
41
|
+
readonly subscription: ClientSubscription;
|
|
42
|
+
readonly monitoringMode: MonitoringMode;
|
|
43
|
+
readonly statusCode: StatusCode;
|
|
44
|
+
readonly monitoredItemId?: any;
|
|
45
|
+
readonly result?: MonitoredItemCreateResult;
|
|
46
|
+
readonly filterResult?: ExtensionObject;
|
|
38
47
|
}
|
|
@@ -5,11 +5,14 @@ import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
|
5
5
|
import { MonitoringParametersOptions } from "node-opcua-types";
|
|
6
6
|
import { ClientMonitoredItemBase } from "./client_monitored_item_base";
|
|
7
7
|
import { ClientSubscription } from "./client_subscription";
|
|
8
|
+
export interface ClientMonitoredItemBaseEx extends ClientMonitoredItemBase {
|
|
9
|
+
internalSetMonitoringMode(monitoringMode: MonitoringMode): void;
|
|
10
|
+
}
|
|
8
11
|
/**
|
|
9
12
|
* @internal
|
|
10
13
|
*/
|
|
11
14
|
export declare class ClientMonitoredItemToolbox {
|
|
12
15
|
static _toolbox_monitor(subscription: ClientSubscription, timestampsToReturn: TimestampsToReturn, monitoredItems: ClientMonitoredItemBase[], done: ErrorCallback): void;
|
|
13
16
|
static _toolbox_modify(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBase[], parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, callback: Callback<MonitoredItemModifyResult[]>): void;
|
|
14
|
-
static _toolbox_setMonitoringMode(subscription: ClientSubscription, monitoredItems:
|
|
17
|
+
static _toolbox_setMonitoringMode(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBaseEx[], monitoringMode: MonitoringMode, callback: Callback<StatusCode[]>): void;
|
|
15
18
|
}
|
|
@@ -19,6 +19,22 @@ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
|
19
19
|
class ClientMonitoredItemToolbox {
|
|
20
20
|
static _toolbox_monitor(subscription, timestampsToReturn, monitoredItems, done) {
|
|
21
21
|
(0, node_opcua_assert_1.assert)(typeof done === "function");
|
|
22
|
+
// we expect subscription to be valid and have a valid session
|
|
23
|
+
if (!subscription || !subscription.session) {
|
|
24
|
+
const err0 = new Error("Invalid subscription");
|
|
25
|
+
if (done) {
|
|
26
|
+
return done(err0);
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// may be the subscription has been terminated or is not fully initialize, in the meantime
|
|
31
|
+
if (!subscription.isActive) {
|
|
32
|
+
const err1 = new Error("Subscription has been terminated or is not fully initialized");
|
|
33
|
+
if (done) {
|
|
34
|
+
return done(err1);
|
|
35
|
+
}
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
22
38
|
const itemsToCreate = [];
|
|
23
39
|
for (const monitoredItem of monitoredItems) {
|
|
24
40
|
const monitoredItemI = monitoredItem;
|
|
@@ -111,7 +127,7 @@ class ClientMonitoredItemToolbox {
|
|
|
111
127
|
return callback(err);
|
|
112
128
|
}
|
|
113
129
|
monitoredItems.forEach((monitoredItem) => {
|
|
114
|
-
monitoredItem.monitoringMode
|
|
130
|
+
monitoredItem.internalSetMonitoringMode(monitoringMode);
|
|
115
131
|
});
|
|
116
132
|
response = response;
|
|
117
133
|
response.results = response.results || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item_toolbox.js","sourceRoot":"","sources":["../source/client_monitored_item_toolbox.ts"],"names":[],"mappings":";;;;;;AAAA;;GAEG;AACH,kDAA0B;AAE1B,yDAA2C;AAE3C,uDAAiE;AACjE,qFASyC;AAWzC,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client_monitored_item_toolbox.js","sourceRoot":"","sources":["../source/client_monitored_item_toolbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,28 +38,28 @@ export interface ModifySubscriptionResult {
|
|
|
38
38
|
revisedMaxKeepAliveCount: UInt32;
|
|
39
39
|
}
|
|
40
40
|
export interface ClientSubscription extends EventEmitter {
|
|
41
|
-
subscriptionId: SubscriptionId;
|
|
42
|
-
publishingInterval: number;
|
|
43
|
-
lifetimeCount: number;
|
|
44
|
-
maxKeepAliveCount: number;
|
|
45
|
-
maxNotificationsPerPublish: number;
|
|
46
|
-
publishingEnabled: boolean;
|
|
47
|
-
priority: number;
|
|
48
|
-
monitoredItems: ClientMonitoredItemBaseMap;
|
|
49
|
-
timeoutHint: number;
|
|
41
|
+
readonly subscriptionId: SubscriptionId;
|
|
42
|
+
readonly publishingInterval: number;
|
|
43
|
+
readonly lifetimeCount: number;
|
|
44
|
+
readonly maxKeepAliveCount: number;
|
|
45
|
+
readonly maxNotificationsPerPublish: number;
|
|
46
|
+
readonly publishingEnabled: boolean;
|
|
47
|
+
readonly priority: number;
|
|
48
|
+
readonly monitoredItems: ClientMonitoredItemBaseMap;
|
|
49
|
+
readonly timeoutHint: number;
|
|
50
50
|
/**
|
|
51
51
|
* return the session associated with the subscription.
|
|
52
52
|
* (may throw if the session is not valid)
|
|
53
53
|
*/
|
|
54
|
-
session: ClientSession;
|
|
54
|
+
readonly session: ClientSession;
|
|
55
55
|
/**
|
|
56
56
|
* return true if the subscription is attached to a valid session
|
|
57
57
|
*/
|
|
58
|
-
hasSession: boolean;
|
|
58
|
+
readonly hasSession: boolean;
|
|
59
59
|
/**
|
|
60
60
|
* true is the subscription is fully active
|
|
61
61
|
*/
|
|
62
|
-
isActive: boolean;
|
|
62
|
+
readonly isActive: boolean;
|
|
63
63
|
/**
|
|
64
64
|
* add a monitor item to the subscription
|
|
65
65
|
*
|
|
@@ -6,9 +6,9 @@ import { TimestampsToReturn } from "node-opcua-data-value";
|
|
|
6
6
|
import { MonitoringMode, MonitoringParametersOptions } from "node-opcua-service-subscription";
|
|
7
7
|
import { StatusCode } from "node-opcua-status-code";
|
|
8
8
|
import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
9
|
-
import { ClientMonitoredItemBase } from "../client_monitored_item_base";
|
|
10
9
|
import { ClientMonitoredItemGroup } from "../client_monitored_item_group";
|
|
11
10
|
import { ClientSubscription } from "../client_subscription";
|
|
11
|
+
import { ClientMonitoredItemBaseEx } from "../client_monitored_item_toolbox";
|
|
12
12
|
/**
|
|
13
13
|
* ClientMonitoredItemGroup
|
|
14
14
|
* event:
|
|
@@ -19,7 +19,7 @@ import { ClientSubscription } from "../client_subscription";
|
|
|
19
19
|
* note: this.monitoringMode = subscription_service.MonitoringMode.Reporting;
|
|
20
20
|
*/
|
|
21
21
|
export declare class ClientMonitoredItemGroupImpl extends EventEmitter implements ClientMonitoredItemGroup {
|
|
22
|
-
readonly monitoredItems:
|
|
22
|
+
readonly monitoredItems: ClientMonitoredItemBaseEx[];
|
|
23
23
|
private readonly subscription;
|
|
24
24
|
private timestampsToReturn;
|
|
25
25
|
private readonly monitoringMode;
|
|
@@ -99,6 +99,7 @@ class ClientMonitoredItemGroupImpl extends events_1.EventEmitter {
|
|
|
99
99
|
*/
|
|
100
100
|
_monitor(done) {
|
|
101
101
|
(0, node_opcua_assert_1.assert)(done === undefined || typeof done === "function");
|
|
102
|
+
(0, node_opcua_assert_1.assert)(this.subscription, "expecting a valid subscription");
|
|
102
103
|
this.monitoredItems.forEach((monitoredItem, index) => {
|
|
103
104
|
monitoredItem.on("changed", (dataValue) => {
|
|
104
105
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item_group_impl.js","sourceRoot":"","sources":["../../source/private/client_monitored_item_group_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,0BAA0B;AAC1B,mCAAsC;AACtC,yDAA2C;AAC3C,iEAAgG;AAChG,uDAAkF;AAClF,qFAA8F;AAI9F,yDAAkD;AAGlD,gFAA0E;AAC1E,oFAA8E;AAE9E,6EAAuE;
|
|
1
|
+
{"version":3,"file":"client_monitored_item_group_impl.js","sourceRoot":"","sources":["../../source/private/client_monitored_item_group_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { StatusCode } from "node-opcua-status-code";
|
|
|
10
10
|
import { Variant } from "node-opcua-variant";
|
|
11
11
|
import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
12
12
|
import { ClientMonitoredItem } from "../client_monitored_item";
|
|
13
|
+
import { ClientMonitoredItemBaseEx } from "../client_monitored_item_toolbox";
|
|
13
14
|
import { ClientSubscription } from "../client_subscription";
|
|
14
15
|
import { ClientSubscriptionImpl } from "./client_subscription_impl";
|
|
15
16
|
export type PrepareForMonitoringResult = {
|
|
@@ -32,7 +33,8 @@ export type PrepareForMonitoringResult = {
|
|
|
32
33
|
*
|
|
33
34
|
* note: this.monitoringMode = subscription_service.MonitoringMode.Reporting;
|
|
34
35
|
*/
|
|
35
|
-
export declare class ClientMonitoredItemImpl extends EventEmitter implements ClientMonitoredItem {
|
|
36
|
+
export declare class ClientMonitoredItemImpl extends EventEmitter implements ClientMonitoredItem, ClientMonitoredItemBaseEx {
|
|
37
|
+
#private;
|
|
36
38
|
itemToMonitor: ReadValueId;
|
|
37
39
|
monitoringParameters: MonitoringParameters;
|
|
38
40
|
subscription: ClientSubscriptionImpl;
|
|
@@ -42,8 +44,7 @@ export declare class ClientMonitoredItemImpl extends EventEmitter implements Cli
|
|
|
42
44
|
result?: MonitoredItemCreateResult;
|
|
43
45
|
filterResult?: ExtensionObject;
|
|
44
46
|
timestampsToReturn: TimestampsToReturn;
|
|
45
|
-
|
|
46
|
-
private _pendingEvents?;
|
|
47
|
+
internalSetMonitoringMode(monitoringMode: MonitoringMode): void;
|
|
47
48
|
constructor(subscription: ClientSubscription, itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode?: MonitoringMode);
|
|
48
49
|
toString(): string;
|
|
49
50
|
/**
|
|
@@ -43,8 +43,11 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
43
43
|
result;
|
|
44
44
|
filterResult;
|
|
45
45
|
timestampsToReturn;
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
#pendingDataValue;
|
|
47
|
+
#pendingEvents;
|
|
48
|
+
internalSetMonitoringMode(monitoringMode) {
|
|
49
|
+
this.monitoringMode = monitoringMode;
|
|
50
|
+
}
|
|
48
51
|
constructor(subscription, itemToMonitor, monitoringParameters, timestampsToReturn, monitoringMode = node_opcua_service_subscription_1.MonitoringMode.Reporting) {
|
|
49
52
|
super();
|
|
50
53
|
this.statusCode = node_opcua_status_code_1.StatusCodes.BadDataUnavailable;
|
|
@@ -113,8 +116,8 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
113
116
|
// in this case we need to put the dataValue aside so we can send the notification changed after
|
|
114
117
|
// the node-opcua client had time to fully install the on("changed") event handler
|
|
115
118
|
if (this.statusCode?.value === node_opcua_status_code_1.StatusCodes.BadDataUnavailable.value) {
|
|
116
|
-
this
|
|
117
|
-
this.
|
|
119
|
+
this.#pendingDataValue = this.#pendingDataValue || [];
|
|
120
|
+
this.#pendingDataValue.push(value);
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
123
|
/**
|
|
@@ -137,8 +140,8 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
137
140
|
*/
|
|
138
141
|
_notify_event(eventFields) {
|
|
139
142
|
if (this.statusCode?.value === node_opcua_status_code_1.StatusCodes.BadDataUnavailable.value) {
|
|
140
|
-
this
|
|
141
|
-
this.
|
|
143
|
+
this.#pendingEvents = this.#pendingEvents || [];
|
|
144
|
+
this.#pendingEvents.push(eventFields);
|
|
142
145
|
return;
|
|
143
146
|
}
|
|
144
147
|
/**
|
|
@@ -161,7 +164,7 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
161
164
|
_prepare_for_monitoring() {
|
|
162
165
|
(0, node_opcua_assert_1.assert)(this.monitoringParameters.clientHandle === 4294967295, "should not have a client handle yet");
|
|
163
166
|
const subscription = this.subscription;
|
|
164
|
-
this.monitoringParameters.clientHandle = subscription.
|
|
167
|
+
this.monitoringParameters.clientHandle = subscription._nextClientHandle();
|
|
165
168
|
(0, node_opcua_assert_1.assert)(this.monitoringParameters.clientHandle > 0 && this.monitoringParameters.clientHandle !== 4294967295);
|
|
166
169
|
// If attributeId is EventNotifier then monitoring parameters need a filter.
|
|
167
170
|
// The filter must then either be DataChangeFilter, EventFilter or AggregateFilter.
|
|
@@ -234,16 +237,16 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
234
237
|
}
|
|
235
238
|
// some PublishRequest with DataNotificationChange might have been sent by the server, before the monitored
|
|
236
239
|
// item has been fully initialized it is time to process now any pending notification that were put on hold.
|
|
237
|
-
if (this
|
|
238
|
-
const dataValues = this
|
|
239
|
-
this
|
|
240
|
+
if (this.#pendingDataValue) {
|
|
241
|
+
const dataValues = this.#pendingDataValue;
|
|
242
|
+
this.#pendingDataValue = undefined;
|
|
240
243
|
setImmediate(() => {
|
|
241
244
|
dataValues.map((dataValue) => this._notify_value_change(dataValue));
|
|
242
245
|
});
|
|
243
246
|
}
|
|
244
|
-
if (this
|
|
245
|
-
const events = this
|
|
246
|
-
this
|
|
247
|
+
if (this.#pendingEvents) {
|
|
248
|
+
const events = this.#pendingEvents;
|
|
249
|
+
this.#pendingEvents = undefined;
|
|
247
250
|
setImmediate(() => {
|
|
248
251
|
events.map((event) => this._notify_event(event));
|
|
249
252
|
});
|
|
@@ -294,7 +297,7 @@ class ClientMonitoredItemImpl extends events_1.EventEmitter {
|
|
|
294
297
|
this.removeAllListeners();
|
|
295
298
|
// also remove from subscription
|
|
296
299
|
const clientHandle = this.monitoringParameters.clientHandle;
|
|
297
|
-
|
|
300
|
+
this.subscription._removeMonitoredItem(clientHandle);
|
|
298
301
|
}
|
|
299
302
|
}
|
|
300
303
|
exports.ClientMonitoredItemImpl = ClientMonitoredItemImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item_impl.js","sourceRoot":"","sources":["../../source/private/client_monitored_item_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,oCAAoC;AACpC,0BAA0B;AAC1B,mCAAsC;AACtC,yDAA2C;AAE3C,iEAAqD;AACrD,iEAA4E;AAC5E,uDAAkF;AAElF,yEAAwD;AACxD,qEAA8F;AAC9F,qFAMyC;AACzC,mEAAiE;AAIjE,oEAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"client_monitored_item_impl.js","sourceRoot":"","sources":["../../source/private/client_monitored_item_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export declare const PENDING_SUBSCRIPTION_ID = 3234512922;
|
|
|
18
18
|
export declare const TERMINATED_SUBSCRIPTION_ID = 3234512923;
|
|
19
19
|
export declare const TERMINATING_SUBSCRIPTION_ID = 3234512924;
|
|
20
20
|
export declare class ClientSubscriptionImpl extends EventEmitter implements ClientSubscription {
|
|
21
|
+
#private;
|
|
21
22
|
/**
|
|
22
23
|
* the associated session
|
|
23
24
|
* @property session
|
|
@@ -33,19 +34,18 @@ export declare class ClientSubscriptionImpl extends EventEmitter implements Clie
|
|
|
33
34
|
maxNotificationsPerPublish: number;
|
|
34
35
|
publishingEnabled: boolean;
|
|
35
36
|
priority: number;
|
|
36
|
-
monitoredItems: ClientMonitoredItemBaseMap;
|
|
37
|
-
|
|
37
|
+
get monitoredItems(): ClientMonitoredItemBaseMap;
|
|
38
|
+
set monitoredItems(value: ClientMonitoredItemBaseMap);
|
|
38
39
|
timeoutHint: number;
|
|
39
40
|
publishEngine: ClientSidePublishEngine;
|
|
40
41
|
lastSequenceNumber: number;
|
|
41
|
-
private _nextClientHandle;
|
|
42
42
|
hasTimedOut: boolean;
|
|
43
43
|
constructor(session: ClientSession, options: ClientSubscriptionOptions);
|
|
44
44
|
terminate(...args: any[]): any;
|
|
45
45
|
/**
|
|
46
46
|
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
_nextClientHandle(): number;
|
|
49
49
|
monitor(itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode: MonitoringMode): Promise<ClientMonitoredItemBase>;
|
|
50
50
|
monitor(itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode: MonitoringMode, done: Callback<ClientMonitoredItemBase>): void;
|
|
51
51
|
monitorItems(itemsToMonitor: ReadValueIdOptions[], requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): Promise<ClientMonitoredItemGroup>;
|
|
@@ -76,6 +76,7 @@ export declare class ClientSubscriptionImpl extends EventEmitter implements Clie
|
|
|
76
76
|
onNotificationMessage(notificationMessage: NotificationMessage): void;
|
|
77
77
|
private _terminate_step2;
|
|
78
78
|
private _remove;
|
|
79
|
+
_removeMonitoredItem(clientHandle: ClientHandle): void;
|
|
79
80
|
_removeGroup(monitoredItemGroup: ClientMonitoredItemGroup): void;
|
|
80
81
|
/**
|
|
81
82
|
* @private
|
|
@@ -97,12 +97,18 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
97
97
|
maxNotificationsPerPublish;
|
|
98
98
|
publishingEnabled;
|
|
99
99
|
priority;
|
|
100
|
-
monitoredItems;
|
|
101
|
-
|
|
100
|
+
#monitoredItems;
|
|
101
|
+
get monitoredItems() {
|
|
102
|
+
return this.#monitoredItems;
|
|
103
|
+
}
|
|
104
|
+
set monitoredItems(value) {
|
|
105
|
+
this.#monitoredItems = value;
|
|
106
|
+
}
|
|
107
|
+
#monitoredItemGroups = [];
|
|
102
108
|
timeoutHint = 0;
|
|
103
109
|
publishEngine;
|
|
104
110
|
lastSequenceNumber;
|
|
105
|
-
|
|
111
|
+
#nextClientHandle = 0;
|
|
106
112
|
hasTimedOut;
|
|
107
113
|
constructor(session, options) {
|
|
108
114
|
super();
|
|
@@ -134,8 +140,8 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
134
140
|
this.publishingEnabled = options.publishingEnabled === undefined ? true : options.publishingEnabled;
|
|
135
141
|
this.priority = options.priority;
|
|
136
142
|
this.subscriptionId = exports.PENDING_SUBSCRIPTION_ID;
|
|
137
|
-
this
|
|
138
|
-
this
|
|
143
|
+
this.#nextClientHandle = 0;
|
|
144
|
+
this.#monitoredItems = {};
|
|
139
145
|
/**
|
|
140
146
|
* set to True when the server has notified us that this subscription has timed out
|
|
141
147
|
* ( maxLifeCounter x published interval without being able to process a PublishRequest
|
|
@@ -211,9 +217,9 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
211
217
|
/**
|
|
212
218
|
|
|
213
219
|
*/
|
|
214
|
-
|
|
215
|
-
this
|
|
216
|
-
return this
|
|
220
|
+
_nextClientHandle() {
|
|
221
|
+
this.#nextClientHandle += 1;
|
|
222
|
+
return this.#nextClientHandle;
|
|
217
223
|
}
|
|
218
224
|
monitor(...args) {
|
|
219
225
|
const itemToMonitor = args[0];
|
|
@@ -394,7 +400,7 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
394
400
|
_add_monitored_item(clientHandle, monitoredItem) {
|
|
395
401
|
(0, node_opcua_assert_1.assert)(this.isActive, "subscription must be active and not terminated");
|
|
396
402
|
(0, node_opcua_assert_1.assert)(monitoredItem.monitoringParameters.clientHandle === clientHandle);
|
|
397
|
-
this
|
|
403
|
+
this.#monitoredItems[clientHandle] = monitoredItem;
|
|
398
404
|
/**
|
|
399
405
|
* notify the observers that a new monitored item has been added to the subscription.
|
|
400
406
|
* @event item_added
|
|
@@ -403,7 +409,7 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
403
409
|
this.emit("item_added", monitoredItem);
|
|
404
410
|
}
|
|
405
411
|
_add_monitored_items_group(monitoredItemGroup) {
|
|
406
|
-
this
|
|
412
|
+
this.#monitoredItemGroups.push(monitoredItemGroup);
|
|
407
413
|
}
|
|
408
414
|
_wait_for_subscription_to_be_ready(done) {
|
|
409
415
|
let _watchDogCount = 0;
|
|
@@ -432,7 +438,7 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
432
438
|
const monitoredItems = notification.monitoredItems || [];
|
|
433
439
|
let repeated = 0;
|
|
434
440
|
for (const monitoredItem of monitoredItems) {
|
|
435
|
-
const monitorItemObj = this
|
|
441
|
+
const monitorItemObj = this.#monitoredItems[monitoredItem.clientHandle];
|
|
436
442
|
if (monitorItemObj) {
|
|
437
443
|
if (monitorItemObj.itemToMonitor.attributeId === node_opcua_data_model_1.AttributeIds.EventNotifier) {
|
|
438
444
|
warningLog(chalk_1.default.yellow("Warning"), chalk_1.default.cyan(" Server send a DataChangeNotification for an EventNotifier." + " EventNotificationList was expected"));
|
|
@@ -497,7 +503,7 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
497
503
|
(0, node_opcua_assert_1.assert)(notification.schema.name === "EventNotificationList");
|
|
498
504
|
const events = notification.events || [];
|
|
499
505
|
for (const event of events) {
|
|
500
|
-
const monitorItemObj = this
|
|
506
|
+
const monitorItemObj = this.#monitoredItems[event.clientHandle];
|
|
501
507
|
(0, node_opcua_assert_1.assert)(monitorItemObj, "Expecting a monitored item");
|
|
502
508
|
const monitoredItemImpl = monitorItemObj;
|
|
503
509
|
monitoredItemImpl._notify_event(event.eventFields || []);
|
|
@@ -566,15 +572,15 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
566
572
|
}
|
|
567
573
|
}
|
|
568
574
|
_terminate_step2(callback) {
|
|
569
|
-
const monitoredItems = Object.values(this
|
|
575
|
+
const monitoredItems = Object.values(this.#monitoredItems);
|
|
570
576
|
for (const monitoredItem of monitoredItems) {
|
|
571
577
|
this._remove(monitoredItem);
|
|
572
578
|
}
|
|
573
|
-
const monitoredItemGroups = this
|
|
579
|
+
const monitoredItemGroups = this.#monitoredItemGroups;
|
|
574
580
|
for (const monitoredItemGroup of monitoredItemGroups) {
|
|
575
581
|
this._removeGroup(monitoredItemGroup);
|
|
576
582
|
}
|
|
577
|
-
(0, node_opcua_assert_1.assert)(Object.values(this
|
|
583
|
+
(0, node_opcua_assert_1.assert)(Object.values(this.#monitoredItems).length === 0);
|
|
578
584
|
setImmediate(() => {
|
|
579
585
|
/**
|
|
580
586
|
* notify the observers that the client subscription has terminated
|
|
@@ -587,17 +593,18 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
587
593
|
}
|
|
588
594
|
_remove(monitoredItem) {
|
|
589
595
|
const clientHandle = monitoredItem.monitoringParameters.clientHandle;
|
|
590
|
-
|
|
591
|
-
if (!Object.prototype.hasOwnProperty.call(this.monitoredItems, clientHandle)) {
|
|
592
|
-
return; // may be monitoredItem failed to be created ....
|
|
593
|
-
}
|
|
594
|
-
(0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(this.monitoredItems, clientHandle));
|
|
596
|
+
this._removeMonitoredItem(clientHandle);
|
|
595
597
|
const priv = monitoredItem;
|
|
596
598
|
priv._terminate_and_emit();
|
|
597
599
|
}
|
|
600
|
+
_removeMonitoredItem(clientHandle) {
|
|
601
|
+
if (this.#monitoredItems[clientHandle]) {
|
|
602
|
+
delete this.#monitoredItems[clientHandle];
|
|
603
|
+
}
|
|
604
|
+
}
|
|
598
605
|
_removeGroup(monitoredItemGroup) {
|
|
599
606
|
monitoredItemGroup._terminate_and_emit();
|
|
600
|
-
this
|
|
607
|
+
this.#monitoredItemGroups = this.#monitoredItemGroups.filter((obj) => obj !== monitoredItemGroup);
|
|
601
608
|
}
|
|
602
609
|
/**
|
|
603
610
|
* @private
|
|
@@ -613,9 +620,13 @@ class ClientSubscriptionImpl extends events_1.EventEmitter {
|
|
|
613
620
|
}
|
|
614
621
|
exports.ClientSubscriptionImpl = ClientSubscriptionImpl;
|
|
615
622
|
function ClientMonitoredItem_create(subscription, itemToMonitor, monitoringParameters, timestampsToReturn, monitoringMode = node_opcua_service_subscription_1.MonitoringMode.Reporting, callback) {
|
|
616
|
-
const
|
|
623
|
+
const subscriptionImpl = subscription;
|
|
624
|
+
if (!subscriptionImpl) {
|
|
625
|
+
throw new Error("Invalid subscription");
|
|
626
|
+
}
|
|
627
|
+
const monitoredItem = new client_monitored_item_impl_1.ClientMonitoredItemImpl(subscriptionImpl, itemToMonitor, monitoringParameters, timestampsToReturn, monitoringMode);
|
|
617
628
|
setImmediate(() => {
|
|
618
|
-
|
|
629
|
+
subscriptionImpl._wait_for_subscription_to_be_ready((err) => {
|
|
619
630
|
if (err) {
|
|
620
631
|
if (callback) {
|
|
621
632
|
callback(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_subscription_impl.js","sourceRoot":"","sources":["../../source/private/client_subscription_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client_subscription_impl.js","sourceRoot":"","sources":["../../source/private/client_subscription_impl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.160.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module client",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "npx rimraf -g node_modules dist *.tsbuildinfo certificates",
|
|
@@ -16,50 +16,51 @@
|
|
|
16
16
|
"@ster5/global-mutex": "^2.0.0",
|
|
17
17
|
"async": "^3.2.6",
|
|
18
18
|
"chalk": "4.1.2",
|
|
19
|
-
"node-opcua-alarm-condition": "2.
|
|
19
|
+
"node-opcua-alarm-condition": "2.160.0",
|
|
20
20
|
"node-opcua-assert": "2.157.0",
|
|
21
21
|
"node-opcua-basic-types": "2.157.0",
|
|
22
22
|
"node-opcua-buffer-utils": "2.157.0",
|
|
23
|
-
"node-opcua-certificate-manager": "2.
|
|
24
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
25
|
-
"node-opcua-common": "2.
|
|
23
|
+
"node-opcua-certificate-manager": "2.160.0",
|
|
24
|
+
"node-opcua-client-dynamic-extension-object": "2.160.0",
|
|
25
|
+
"node-opcua-common": "2.159.0",
|
|
26
26
|
"node-opcua-constants": "2.157.0",
|
|
27
|
-
"node-opcua-crypto": "4.16.
|
|
27
|
+
"node-opcua-crypto": "4.16.1",
|
|
28
28
|
"node-opcua-data-model": "2.158.0",
|
|
29
|
-
"node-opcua-data-value": "2.
|
|
29
|
+
"node-opcua-data-value": "2.159.0",
|
|
30
30
|
"node-opcua-date-time": "2.157.0",
|
|
31
31
|
"node-opcua-debug": "2.157.0",
|
|
32
32
|
"node-opcua-extension-object": "2.158.0",
|
|
33
33
|
"node-opcua-hostname": "2.157.0",
|
|
34
34
|
"node-opcua-nodeid": "2.157.0",
|
|
35
|
+
"node-opcua-numeric-range": "2.158.0",
|
|
35
36
|
"node-opcua-object-registry": "2.157.0",
|
|
36
|
-
"node-opcua-pki": "5.
|
|
37
|
-
"node-opcua-pseudo-session": "2.
|
|
38
|
-
"node-opcua-schemas": "2.
|
|
39
|
-
"node-opcua-secure-channel": "2.
|
|
40
|
-
"node-opcua-service-browse": "2.
|
|
41
|
-
"node-opcua-service-call": "2.
|
|
42
|
-
"node-opcua-service-discovery": "2.
|
|
43
|
-
"node-opcua-service-endpoints": "2.
|
|
44
|
-
"node-opcua-service-filter": "2.
|
|
45
|
-
"node-opcua-service-history": "2.
|
|
46
|
-
"node-opcua-service-query": "2.
|
|
47
|
-
"node-opcua-service-read": "2.
|
|
48
|
-
"node-opcua-service-register-node": "2.
|
|
49
|
-
"node-opcua-service-secure-channel": "2.
|
|
50
|
-
"node-opcua-service-session": "2.
|
|
51
|
-
"node-opcua-service-subscription": "2.
|
|
52
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
53
|
-
"node-opcua-service-write": "2.
|
|
37
|
+
"node-opcua-pki": "5.7.0",
|
|
38
|
+
"node-opcua-pseudo-session": "2.160.0",
|
|
39
|
+
"node-opcua-schemas": "2.159.0",
|
|
40
|
+
"node-opcua-secure-channel": "2.160.0",
|
|
41
|
+
"node-opcua-service-browse": "2.159.0",
|
|
42
|
+
"node-opcua-service-call": "2.159.0",
|
|
43
|
+
"node-opcua-service-discovery": "2.159.0",
|
|
44
|
+
"node-opcua-service-endpoints": "2.159.0",
|
|
45
|
+
"node-opcua-service-filter": "2.159.0",
|
|
46
|
+
"node-opcua-service-history": "2.159.0",
|
|
47
|
+
"node-opcua-service-query": "2.159.0",
|
|
48
|
+
"node-opcua-service-read": "2.159.0",
|
|
49
|
+
"node-opcua-service-register-node": "2.159.0",
|
|
50
|
+
"node-opcua-service-secure-channel": "2.159.0",
|
|
51
|
+
"node-opcua-service-session": "2.159.0",
|
|
52
|
+
"node-opcua-service-subscription": "2.160.0",
|
|
53
|
+
"node-opcua-service-translate-browse-path": "2.159.0",
|
|
54
|
+
"node-opcua-service-write": "2.159.0",
|
|
54
55
|
"node-opcua-status-code": "2.157.0",
|
|
55
|
-
"node-opcua-types": "2.
|
|
56
|
+
"node-opcua-types": "2.159.0",
|
|
56
57
|
"node-opcua-utils": "2.157.0",
|
|
57
|
-
"node-opcua-variant": "2.
|
|
58
|
+
"node-opcua-variant": "2.159.0",
|
|
58
59
|
"thenify-ex": "4.4.0"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
62
|
"dequeue": "^1.0.5",
|
|
62
|
-
"node-opcua-address-space": "2.
|
|
63
|
+
"node-opcua-address-space": "2.160.0",
|
|
63
64
|
"node-opcua-binary-stream": "2.157.0",
|
|
64
65
|
"node-opcua-factory": "2.158.0",
|
|
65
66
|
"node-opcua-leak-detector": "2.157.0",
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
"internet of things"
|
|
86
87
|
],
|
|
87
88
|
"homepage": "http://node-opcua.github.io/",
|
|
88
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "5cd10d45289651e4219d1feff2331b0b3e547c61",
|
|
89
90
|
"files": [
|
|
90
91
|
"dist",
|
|
91
92
|
"source"
|
|
@@ -5,7 +5,7 @@ import { EventEmitter } from "events";
|
|
|
5
5
|
|
|
6
6
|
import { DataValue } from "node-opcua-data-value";
|
|
7
7
|
import { ExtensionObject } from "node-opcua-extension-object";
|
|
8
|
-
import {
|
|
8
|
+
import { TimestampsToReturn } from "node-opcua-service-read";
|
|
9
9
|
import {
|
|
10
10
|
MonitoredItemCreateResult,
|
|
11
11
|
MonitoringMode,
|
|
@@ -15,6 +15,10 @@ import {
|
|
|
15
15
|
import { StatusCode } from "node-opcua-status-code";
|
|
16
16
|
import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
17
17
|
import { Variant } from "node-opcua-variant";
|
|
18
|
+
import { NumericRange } from "node-opcua-numeric-range";
|
|
19
|
+
import { QualifiedNameLike } from "node-opcua-data-model";
|
|
20
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
21
|
+
import { AttributeIds, UInt32 } from "node-opcua-basic-types";
|
|
18
22
|
|
|
19
23
|
import { ClientSubscription } from "./client_subscription";
|
|
20
24
|
|
|
@@ -48,12 +52,17 @@ export interface ClientMonitoredItemBase extends EventEmitter, ClientMonitoredIt
|
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
export interface ClientMonitoredItemBase {
|
|
51
|
-
itemToMonitor:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
readonly itemToMonitor: {
|
|
56
|
+
nodeId: NodeId;
|
|
57
|
+
attributeId: AttributeIds;
|
|
58
|
+
indexRange?: NumericRange | undefined;
|
|
59
|
+
dataEncoding?: QualifiedNameLike | null;
|
|
60
|
+
};
|
|
61
|
+
readonly monitoringParameters: MonitoringParameters;
|
|
62
|
+
readonly subscription: ClientSubscription;
|
|
63
|
+
readonly monitoringMode: MonitoringMode;
|
|
64
|
+
readonly statusCode: StatusCode;
|
|
65
|
+
readonly monitoredItemId?: any;
|
|
66
|
+
readonly result?: MonitoredItemCreateResult;
|
|
67
|
+
readonly filterResult?: ExtensionObject;
|
|
59
68
|
}
|
|
@@ -29,6 +29,9 @@ import { ClientSessionImpl } from "./private/client_session_impl";
|
|
|
29
29
|
const debugLog = make_debugLog(__filename);
|
|
30
30
|
const doDebug = checkDebugFlag(__filename);
|
|
31
31
|
|
|
32
|
+
export interface ClientMonitoredItemBaseEx extends ClientMonitoredItemBase {
|
|
33
|
+
internalSetMonitoringMode(monitoringMode: MonitoringMode): void;
|
|
34
|
+
}
|
|
32
35
|
/**
|
|
33
36
|
* @internal
|
|
34
37
|
*/
|
|
@@ -40,6 +43,25 @@ export class ClientMonitoredItemToolbox {
|
|
|
40
43
|
done: ErrorCallback
|
|
41
44
|
): void {
|
|
42
45
|
assert(typeof done === "function");
|
|
46
|
+
|
|
47
|
+
// we expect subscription to be valid and have a valid session
|
|
48
|
+
if (!subscription || !subscription.session) {
|
|
49
|
+
const err0 = new Error("Invalid subscription");
|
|
50
|
+
if (done) {
|
|
51
|
+
return done(err0);
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// may be the subscription has been terminated or is not fully initialize, in the meantime
|
|
57
|
+
if (!subscription.isActive) {
|
|
58
|
+
const err1 = new Error("Subscription has been terminated or is not fully initialized");
|
|
59
|
+
if (done) {
|
|
60
|
+
return done(err1);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
43
65
|
const itemsToCreate: MonitoredItemCreateRequestOptions[] = [];
|
|
44
66
|
for (const monitoredItem of monitoredItems) {
|
|
45
67
|
const monitoredItemI = monitoredItem as ClientMonitoredItemImpl;
|
|
@@ -60,8 +82,10 @@ export class ClientMonitoredItemToolbox {
|
|
|
60
82
|
const monitoredItem = monitoredItems[i] as ClientMonitoredItemImpl;
|
|
61
83
|
monitoredItem._before_create();
|
|
62
84
|
}
|
|
85
|
+
|
|
63
86
|
const session = subscription.session as ClientSessionImpl;
|
|
64
87
|
assert(session, "expecting a valid session attached to the subscription ");
|
|
88
|
+
|
|
65
89
|
session.createMonitoredItems(createMonitorItemsRequest, (err?: Error | null, response?: CreateMonitoredItemsResponse) => {
|
|
66
90
|
/* istanbul ignore next */
|
|
67
91
|
if (err) {
|
|
@@ -138,7 +162,7 @@ export class ClientMonitoredItemToolbox {
|
|
|
138
162
|
|
|
139
163
|
public static _toolbox_setMonitoringMode(
|
|
140
164
|
subscription: ClientSubscription,
|
|
141
|
-
monitoredItems:
|
|
165
|
+
monitoredItems: ClientMonitoredItemBaseEx[],
|
|
142
166
|
monitoringMode: MonitoringMode,
|
|
143
167
|
callback: Callback<StatusCode[]>
|
|
144
168
|
): void {
|
|
@@ -158,7 +182,7 @@ export class ClientMonitoredItemToolbox {
|
|
|
158
182
|
return callback(err);
|
|
159
183
|
}
|
|
160
184
|
monitoredItems.forEach((monitoredItem) => {
|
|
161
|
-
monitoredItem.monitoringMode
|
|
185
|
+
monitoredItem.internalSetMonitoringMode(monitoringMode);
|
|
162
186
|
});
|
|
163
187
|
response = response!;
|
|
164
188
|
response.results = response.results || [];
|
|
@@ -52,32 +52,32 @@ export interface ModifySubscriptionResult {
|
|
|
52
52
|
revisedMaxKeepAliveCount: UInt32;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export interface ClientSubscription extends EventEmitter
|
|
56
|
-
subscriptionId: SubscriptionId;
|
|
57
|
-
publishingInterval: number;
|
|
58
|
-
lifetimeCount: number;
|
|
59
|
-
maxKeepAliveCount: number;
|
|
60
|
-
maxNotificationsPerPublish: number;
|
|
61
|
-
publishingEnabled: boolean;
|
|
62
|
-
priority: number;
|
|
63
|
-
monitoredItems: ClientMonitoredItemBaseMap;
|
|
64
|
-
timeoutHint: number;
|
|
55
|
+
export interface ClientSubscription extends EventEmitter {
|
|
56
|
+
readonly subscriptionId: SubscriptionId;
|
|
57
|
+
readonly publishingInterval: number;
|
|
58
|
+
readonly lifetimeCount: number;
|
|
59
|
+
readonly maxKeepAliveCount: number;
|
|
60
|
+
readonly maxNotificationsPerPublish: number;
|
|
61
|
+
readonly publishingEnabled: boolean;
|
|
62
|
+
readonly priority: number;
|
|
63
|
+
readonly monitoredItems: ClientMonitoredItemBaseMap;
|
|
64
|
+
readonly timeoutHint: number;
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* return the session associated with the subscription.
|
|
68
68
|
* (may throw if the session is not valid)
|
|
69
69
|
*/
|
|
70
|
-
session: ClientSession;
|
|
70
|
+
readonly session: ClientSession;
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
73
|
* return true if the subscription is attached to a valid session
|
|
74
74
|
*/
|
|
75
|
-
hasSession: boolean;
|
|
75
|
+
readonly hasSession: boolean;
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
78
|
* true is the subscription is fully active
|
|
79
79
|
*/
|
|
80
|
-
isActive: boolean;
|
|
80
|
+
readonly isActive: boolean;
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
83
|
* add a monitor item to the subscription
|
|
@@ -18,6 +18,7 @@ import { ClientMonitoredItemToolbox } from "../client_monitored_item_toolbox";
|
|
|
18
18
|
import { ClientSubscription } from "../client_subscription";
|
|
19
19
|
import { ClientMonitoredItemImpl } from "./client_monitored_item_impl";
|
|
20
20
|
import { ClientSubscriptionImpl } from "./client_subscription_impl";
|
|
21
|
+
import { ClientMonitoredItemBaseEx } from "../client_monitored_item_toolbox";
|
|
21
22
|
|
|
22
23
|
const debugLog = make_debugLog(__filename);
|
|
23
24
|
const doDebug = checkDebugFlag(__filename);
|
|
@@ -33,7 +34,7 @@ const warningLog = make_warningLog(__filename);
|
|
|
33
34
|
* note: this.monitoringMode = subscription_service.MonitoringMode.Reporting;
|
|
34
35
|
*/
|
|
35
36
|
export class ClientMonitoredItemGroupImpl extends EventEmitter implements ClientMonitoredItemGroup {
|
|
36
|
-
public readonly monitoredItems:
|
|
37
|
+
public readonly monitoredItems: ClientMonitoredItemBaseEx[];
|
|
37
38
|
private readonly subscription: ClientSubscription;
|
|
38
39
|
private timestampsToReturn: TimestampsToReturn;
|
|
39
40
|
private readonly monitoringMode: MonitoringMode;
|
|
@@ -162,7 +163,7 @@ export class ClientMonitoredItemGroupImpl extends EventEmitter implements Client
|
|
|
162
163
|
*/
|
|
163
164
|
public _monitor(done: ErrorCallback): void {
|
|
164
165
|
assert(done === undefined || typeof done === "function");
|
|
165
|
-
|
|
166
|
+
assert(this.subscription, "expecting a valid subscription");
|
|
166
167
|
this.monitoredItems.forEach((monitoredItem: ClientMonitoredItemBase, index: number) => {
|
|
167
168
|
monitoredItem.on("changed", (dataValue: DataValue) => {
|
|
168
169
|
/**
|
|
@@ -24,7 +24,7 @@ import { Variant } from "node-opcua-variant";
|
|
|
24
24
|
import { Callback, ErrorCallback } from "node-opcua-status-code";
|
|
25
25
|
|
|
26
26
|
import { ClientMonitoredItem } from "../client_monitored_item";
|
|
27
|
-
import { ClientMonitoredItemToolbox } from "../client_monitored_item_toolbox";
|
|
27
|
+
import { ClientMonitoredItemToolbox, ClientMonitoredItemBaseEx } from "../client_monitored_item_toolbox";
|
|
28
28
|
import { ClientSubscription } from "../client_subscription";
|
|
29
29
|
import { ClientMonitoredItem_create, ClientSubscriptionImpl } from "./client_subscription_impl";
|
|
30
30
|
|
|
@@ -35,11 +35,11 @@ const doDebug = checkDebugFlag(__filename);
|
|
|
35
35
|
export type PrepareForMonitoringResult =
|
|
36
36
|
| { error: string }
|
|
37
37
|
| {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
error?: null;
|
|
39
|
+
itemToMonitor: ReadValueIdOptions;
|
|
40
|
+
monitoringMode: MonitoringMode;
|
|
41
|
+
requestedParameters: MonitoringParameters;
|
|
42
|
+
};
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* ClientMonitoredItem
|
|
@@ -53,7 +53,7 @@ export type PrepareForMonitoringResult =
|
|
|
53
53
|
*
|
|
54
54
|
* note: this.monitoringMode = subscription_service.MonitoringMode.Reporting;
|
|
55
55
|
*/
|
|
56
|
-
export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonitoredItem {
|
|
56
|
+
export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonitoredItem, ClientMonitoredItemBaseEx {
|
|
57
57
|
public itemToMonitor: ReadValueId;
|
|
58
58
|
public monitoringParameters: MonitoringParameters;
|
|
59
59
|
public subscription: ClientSubscriptionImpl;
|
|
@@ -64,8 +64,12 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
64
64
|
public filterResult?: ExtensionObject;
|
|
65
65
|
public timestampsToReturn: TimestampsToReturn;
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
#pendingDataValue?: DataValue[];
|
|
68
|
+
#pendingEvents?: Variant[][];
|
|
69
|
+
|
|
70
|
+
public internalSetMonitoringMode(monitoringMode: MonitoringMode): void {
|
|
71
|
+
this.monitoringMode = monitoringMode;
|
|
72
|
+
}
|
|
69
73
|
|
|
70
74
|
constructor(
|
|
71
75
|
subscription: ClientSubscription,
|
|
@@ -163,7 +167,7 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
163
167
|
[this],
|
|
164
168
|
monitoringMode,
|
|
165
169
|
(err?: Error | null, statusCodes?: StatusCode[]) => {
|
|
166
|
-
callback(err ? err : null, statusCodes ? statusCodes[0]: undefined);
|
|
170
|
+
callback(err ? err : null, statusCodes ? statusCodes[0] : undefined);
|
|
167
171
|
}
|
|
168
172
|
);
|
|
169
173
|
}
|
|
@@ -178,8 +182,8 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
178
182
|
// in this case we need to put the dataValue aside so we can send the notification changed after
|
|
179
183
|
// the node-opcua client had time to fully install the on("changed") event handler
|
|
180
184
|
if (this.statusCode?.value === StatusCodes.BadDataUnavailable.value) {
|
|
181
|
-
this
|
|
182
|
-
this.
|
|
185
|
+
this.#pendingDataValue = this.#pendingDataValue || [];
|
|
186
|
+
this.#pendingDataValue.push(value);
|
|
183
187
|
return;
|
|
184
188
|
}
|
|
185
189
|
/**
|
|
@@ -205,8 +209,8 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
205
209
|
*/
|
|
206
210
|
public _notify_event(eventFields: Variant[]): void {
|
|
207
211
|
if (this.statusCode?.value === StatusCodes.BadDataUnavailable.value) {
|
|
208
|
-
this
|
|
209
|
-
this.
|
|
212
|
+
this.#pendingEvents = this.#pendingEvents || [];
|
|
213
|
+
this.#pendingEvents.push(eventFields);
|
|
210
214
|
return;
|
|
211
215
|
}
|
|
212
216
|
/**
|
|
@@ -234,7 +238,7 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
234
238
|
|
|
235
239
|
const subscription = this.subscription as ClientSubscriptionImpl;
|
|
236
240
|
|
|
237
|
-
this.monitoringParameters.clientHandle = subscription.
|
|
241
|
+
this.monitoringParameters.clientHandle = subscription._nextClientHandle();
|
|
238
242
|
|
|
239
243
|
assert(this.monitoringParameters.clientHandle > 0 && this.monitoringParameters.clientHandle !== 4294967295);
|
|
240
244
|
|
|
@@ -317,17 +321,17 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
317
321
|
|
|
318
322
|
// some PublishRequest with DataNotificationChange might have been sent by the server, before the monitored
|
|
319
323
|
// item has been fully initialized it is time to process now any pending notification that were put on hold.
|
|
320
|
-
if (this
|
|
321
|
-
const dataValues = this
|
|
322
|
-
this
|
|
324
|
+
if (this.#pendingDataValue) {
|
|
325
|
+
const dataValues = this.#pendingDataValue;
|
|
326
|
+
this.#pendingDataValue = undefined;
|
|
323
327
|
setImmediate(() => {
|
|
324
328
|
dataValues.map((dataValue) => this._notify_value_change(dataValue));
|
|
325
329
|
});
|
|
326
330
|
}
|
|
327
331
|
|
|
328
|
-
if (this
|
|
329
|
-
const events = this
|
|
330
|
-
this
|
|
332
|
+
if (this.#pendingEvents) {
|
|
333
|
+
const events = this.#pendingEvents;
|
|
334
|
+
this.#pendingEvents = undefined;
|
|
331
335
|
setImmediate(() => {
|
|
332
336
|
events.map((event) => this._notify_event(event));
|
|
333
337
|
});
|
|
@@ -377,10 +381,10 @@ export class ClientMonitoredItemImpl extends EventEmitter implements ClientMonit
|
|
|
377
381
|
*/
|
|
378
382
|
this.emit("terminated", err);
|
|
379
383
|
this.removeAllListeners();
|
|
380
|
-
|
|
384
|
+
|
|
381
385
|
// also remove from subscription
|
|
382
386
|
const clientHandle = this.monitoringParameters.clientHandle;
|
|
383
|
-
|
|
387
|
+
this.subscription._removeMonitoredItem(clientHandle);
|
|
384
388
|
}
|
|
385
389
|
}
|
|
386
390
|
|
|
@@ -144,14 +144,20 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
144
144
|
public maxNotificationsPerPublish: number;
|
|
145
145
|
public publishingEnabled: boolean;
|
|
146
146
|
public priority: number;
|
|
147
|
-
|
|
148
|
-
public
|
|
147
|
+
#monitoredItems: ClientMonitoredItemBaseMap;
|
|
148
|
+
public get monitoredItems(): ClientMonitoredItemBaseMap {
|
|
149
|
+
return this.#monitoredItems;
|
|
150
|
+
}
|
|
151
|
+
public set monitoredItems(value: ClientMonitoredItemBaseMap) {
|
|
152
|
+
this.#monitoredItems = value;
|
|
153
|
+
}
|
|
154
|
+
#monitoredItemGroups: ClientMonitoredItemGroup[] = [];
|
|
149
155
|
|
|
150
156
|
public timeoutHint = 0;
|
|
151
157
|
public publishEngine: ClientSidePublishEngine;
|
|
152
158
|
|
|
153
159
|
public lastSequenceNumber: number;
|
|
154
|
-
|
|
160
|
+
#nextClientHandle = 0;
|
|
155
161
|
public hasTimedOut: boolean;
|
|
156
162
|
|
|
157
163
|
constructor(session: ClientSession, options: ClientSubscriptionOptions) {
|
|
@@ -203,8 +209,8 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
203
209
|
|
|
204
210
|
this.subscriptionId = PENDING_SUBSCRIPTION_ID;
|
|
205
211
|
|
|
206
|
-
this
|
|
207
|
-
this
|
|
212
|
+
this.#nextClientHandle = 0;
|
|
213
|
+
this.#monitoredItems = {};
|
|
208
214
|
|
|
209
215
|
/**
|
|
210
216
|
* set to True when the server has notified us that this subscription has timed out
|
|
@@ -288,9 +294,9 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
288
294
|
/**
|
|
289
295
|
|
|
290
296
|
*/
|
|
291
|
-
public
|
|
292
|
-
this
|
|
293
|
-
return this
|
|
297
|
+
public _nextClientHandle(): number {
|
|
298
|
+
this.#nextClientHandle += 1;
|
|
299
|
+
return this.#nextClientHandle;
|
|
294
300
|
}
|
|
295
301
|
|
|
296
302
|
public async monitor(
|
|
@@ -555,7 +561,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
555
561
|
public _add_monitored_item(clientHandle: ClientHandle, monitoredItem: ClientMonitoredItemBase): void {
|
|
556
562
|
assert(this.isActive, "subscription must be active and not terminated");
|
|
557
563
|
assert(monitoredItem.monitoringParameters.clientHandle === clientHandle);
|
|
558
|
-
this
|
|
564
|
+
this.#monitoredItems[clientHandle] = monitoredItem;
|
|
559
565
|
|
|
560
566
|
/**
|
|
561
567
|
* notify the observers that a new monitored item has been added to the subscription.
|
|
@@ -566,7 +572,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
566
572
|
}
|
|
567
573
|
|
|
568
574
|
public _add_monitored_items_group(monitoredItemGroup: ClientMonitoredItemGroupImpl): void {
|
|
569
|
-
this
|
|
575
|
+
this.#monitoredItemGroups.push(monitoredItemGroup);
|
|
570
576
|
}
|
|
571
577
|
|
|
572
578
|
public _wait_for_subscription_to_be_ready(done: ErrorCallback): void {
|
|
@@ -600,7 +606,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
600
606
|
|
|
601
607
|
let repeated = 0;
|
|
602
608
|
for (const monitoredItem of monitoredItems) {
|
|
603
|
-
const monitorItemObj = this
|
|
609
|
+
const monitorItemObj = this.#monitoredItems[monitoredItem.clientHandle];
|
|
604
610
|
if (monitorItemObj) {
|
|
605
611
|
if (monitorItemObj.itemToMonitor.attributeId === AttributeIds.EventNotifier) {
|
|
606
612
|
warningLog(
|
|
@@ -679,7 +685,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
679
685
|
assert(notification.schema.name === "EventNotificationList");
|
|
680
686
|
const events = notification.events || [];
|
|
681
687
|
for (const event of events) {
|
|
682
|
-
const monitorItemObj = this
|
|
688
|
+
const monitorItemObj = this.#monitoredItems[event.clientHandle];
|
|
683
689
|
assert(monitorItemObj, "Expecting a monitored item");
|
|
684
690
|
|
|
685
691
|
const monitoredItemImpl = monitorItemObj as ClientMonitoredItemImpl;
|
|
@@ -751,8 +757,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
751
757
|
if (s(this).$_slowNotifCount > 0 && s(this).$_slowNotifCount % 1000 !== 0) return;
|
|
752
758
|
s(this).$_slowNotifCount++;
|
|
753
759
|
warningLog(
|
|
754
|
-
`[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${
|
|
755
|
-
s(this).$_slowNotifCount
|
|
760
|
+
`[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${s(this).$_slowNotifCount
|
|
756
761
|
} times]\n please ensure that your monitoredItem event handler is not blocking the event loop.`
|
|
757
762
|
);
|
|
758
763
|
}
|
|
@@ -762,17 +767,17 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
762
767
|
}
|
|
763
768
|
|
|
764
769
|
private _terminate_step2(callback: (err?: Error) => void) {
|
|
765
|
-
const monitoredItems = Object.values(this
|
|
770
|
+
const monitoredItems = Object.values(this.#monitoredItems);
|
|
766
771
|
for (const monitoredItem of monitoredItems) {
|
|
767
772
|
this._remove(monitoredItem);
|
|
768
773
|
}
|
|
769
774
|
|
|
770
|
-
const monitoredItemGroups = this
|
|
775
|
+
const monitoredItemGroups = this.#monitoredItemGroups;
|
|
771
776
|
for (const monitoredItemGroup of monitoredItemGroups) {
|
|
772
777
|
this._removeGroup(monitoredItemGroup);
|
|
773
778
|
}
|
|
774
779
|
|
|
775
|
-
assert(Object.values(this
|
|
780
|
+
assert(Object.values(this.#monitoredItems).length === 0);
|
|
776
781
|
|
|
777
782
|
setImmediate(() => {
|
|
778
783
|
/**
|
|
@@ -787,19 +792,20 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
|
|
|
787
792
|
|
|
788
793
|
private _remove(monitoredItem: ClientMonitoredItemBase) {
|
|
789
794
|
const clientHandle = monitoredItem.monitoringParameters.clientHandle;
|
|
790
|
-
|
|
791
|
-
if (!Object.prototype.hasOwnProperty.call(this.monitoredItems, clientHandle)) {
|
|
792
|
-
return; // may be monitoredItem failed to be created ....
|
|
793
|
-
}
|
|
794
|
-
assert(Object.prototype.hasOwnProperty.call(this.monitoredItems, clientHandle));
|
|
795
|
-
|
|
795
|
+
this._removeMonitoredItem(clientHandle);
|
|
796
796
|
const priv = monitoredItem as ClientMonitoredItemImpl;
|
|
797
797
|
priv._terminate_and_emit();
|
|
798
798
|
}
|
|
799
799
|
|
|
800
|
+
public _removeMonitoredItem(clientHandle: ClientHandle) {
|
|
801
|
+
if (this.#monitoredItems[clientHandle]) {
|
|
802
|
+
delete this.#monitoredItems[clientHandle];
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
|
|
800
806
|
public _removeGroup(monitoredItemGroup: ClientMonitoredItemGroup): void {
|
|
801
807
|
(monitoredItemGroup as any)._terminate_and_emit();
|
|
802
|
-
this
|
|
808
|
+
this.#monitoredItemGroups = this.#monitoredItemGroups.filter((obj) => obj !== monitoredItemGroup);
|
|
803
809
|
}
|
|
804
810
|
/**
|
|
805
811
|
* @private
|
|
@@ -833,8 +839,14 @@ export function ClientMonitoredItem_create(
|
|
|
833
839
|
monitoringMode: MonitoringMode = MonitoringMode.Reporting,
|
|
834
840
|
callback?: (err3?: Error | null, monitoredItem?: ClientMonitoredItem) => void
|
|
835
841
|
): ClientMonitoredItem {
|
|
842
|
+
|
|
843
|
+
const subscriptionImpl = subscription as ClientSubscriptionImpl;
|
|
844
|
+
if (!subscriptionImpl) {
|
|
845
|
+
throw new Error("Invalid subscription");
|
|
846
|
+
}
|
|
847
|
+
|
|
836
848
|
const monitoredItem = new ClientMonitoredItemImpl(
|
|
837
|
-
|
|
849
|
+
subscriptionImpl,
|
|
838
850
|
itemToMonitor,
|
|
839
851
|
monitoringParameters,
|
|
840
852
|
timestampsToReturn,
|
|
@@ -842,13 +854,14 @@ export function ClientMonitoredItem_create(
|
|
|
842
854
|
);
|
|
843
855
|
|
|
844
856
|
setImmediate(() => {
|
|
845
|
-
|
|
857
|
+
subscriptionImpl._wait_for_subscription_to_be_ready((err?: Error) => {
|
|
846
858
|
if (err) {
|
|
847
859
|
if (callback) {
|
|
848
860
|
callback(err);
|
|
849
861
|
}
|
|
850
862
|
return;
|
|
851
863
|
}
|
|
864
|
+
|
|
852
865
|
ClientMonitoredItemToolbox._toolbox_monitor(subscription, timestampsToReturn, [monitoredItem], (err1?: Error) => {
|
|
853
866
|
if (err1) {
|
|
854
867
|
monitoredItem._terminate_and_emit(err1);
|