node-opcua-server 2.97.0 → 2.98.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.
Files changed (91) hide show
  1. package/package.json +43 -43
  2. package/dist/base_server.d.ts +0 -110
  3. package/dist/base_server.js +0 -491
  4. package/dist/base_server.js.map +0 -1
  5. package/dist/factory.d.ts +0 -12
  6. package/dist/factory.js +0 -24
  7. package/dist/factory.js.map +0 -1
  8. package/dist/filter/check_where_clause_on_address_space.d.ts +0 -3
  9. package/dist/filter/check_where_clause_on_address_space.js +0 -23
  10. package/dist/filter/check_where_clause_on_address_space.js.map +0 -1
  11. package/dist/filter/extract_event_fields.d.ts +0 -10
  12. package/dist/filter/extract_event_fields.js +0 -18
  13. package/dist/filter/extract_event_fields.js.map +0 -1
  14. package/dist/helper.d.ts +0 -10
  15. package/dist/helper.js +0 -76
  16. package/dist/helper.js.map +0 -1
  17. package/dist/history_server_capabilities.d.ts +0 -35
  18. package/dist/history_server_capabilities.js +0 -44
  19. package/dist/history_server_capabilities.js.map +0 -1
  20. package/dist/i_channel_data.d.ts +0 -13
  21. package/dist/i_channel_data.js +0 -3
  22. package/dist/i_channel_data.js.map +0 -1
  23. package/dist/i_register_server_manager.d.ts +0 -16
  24. package/dist/i_register_server_manager.js +0 -3
  25. package/dist/i_register_server_manager.js.map +0 -1
  26. package/dist/i_server_side_publish_engine.d.ts +0 -36
  27. package/dist/i_server_side_publish_engine.js +0 -50
  28. package/dist/i_server_side_publish_engine.js.map +0 -1
  29. package/dist/i_socket_data.d.ts +0 -11
  30. package/dist/i_socket_data.js +0 -3
  31. package/dist/i_socket_data.js.map +0 -1
  32. package/dist/index.d.ts +0 -16
  33. package/dist/index.js +0 -33
  34. package/dist/index.js.map +0 -1
  35. package/dist/monitored_item.d.ts +0 -188
  36. package/dist/monitored_item.js +0 -1113
  37. package/dist/monitored_item.js.map +0 -1
  38. package/dist/node_sampler.d.ts +0 -3
  39. package/dist/node_sampler.js +0 -80
  40. package/dist/node_sampler.js.map +0 -1
  41. package/dist/opcua_server.d.ts +0 -747
  42. package/dist/opcua_server.js +0 -2429
  43. package/dist/opcua_server.js.map +0 -1
  44. package/dist/queue.d.ts +0 -11
  45. package/dist/queue.js +0 -72
  46. package/dist/queue.js.map +0 -1
  47. package/dist/register_server_manager.d.ts +0 -96
  48. package/dist/register_server_manager.js +0 -585
  49. package/dist/register_server_manager.js.map +0 -1
  50. package/dist/register_server_manager_hidden.d.ts +0 -17
  51. package/dist/register_server_manager_hidden.js +0 -28
  52. package/dist/register_server_manager_hidden.js.map +0 -1
  53. package/dist/register_server_manager_mdns_only.d.ts +0 -22
  54. package/dist/register_server_manager_mdns_only.js +0 -56
  55. package/dist/register_server_manager_mdns_only.js.map +0 -1
  56. package/dist/sampling_func.d.ts +0 -3
  57. package/dist/sampling_func.js +0 -3
  58. package/dist/sampling_func.js.map +0 -1
  59. package/dist/server_capabilities.d.ts +0 -148
  60. package/dist/server_capabilities.js +0 -102
  61. package/dist/server_capabilities.js.map +0 -1
  62. package/dist/server_end_point.d.ts +0 -185
  63. package/dist/server_end_point.js +0 -841
  64. package/dist/server_end_point.js.map +0 -1
  65. package/dist/server_engine.d.ts +0 -318
  66. package/dist/server_engine.js +0 -1775
  67. package/dist/server_engine.js.map +0 -1
  68. package/dist/server_publish_engine.d.ts +0 -113
  69. package/dist/server_publish_engine.js +0 -542
  70. package/dist/server_publish_engine.js.map +0 -1
  71. package/dist/server_publish_engine_for_orphan_subscriptions.d.ts +0 -16
  72. package/dist/server_publish_engine_for_orphan_subscriptions.js +0 -52
  73. package/dist/server_publish_engine_for_orphan_subscriptions.js.map +0 -1
  74. package/dist/server_session.d.ts +0 -185
  75. package/dist/server_session.js +0 -758
  76. package/dist/server_session.js.map +0 -1
  77. package/dist/server_subscription.d.ts +0 -421
  78. package/dist/server_subscription.js +0 -1348
  79. package/dist/server_subscription.js.map +0 -1
  80. package/dist/sessions_compatible_for_transfer.d.ts +0 -2
  81. package/dist/sessions_compatible_for_transfer.js +0 -40
  82. package/dist/sessions_compatible_for_transfer.js.map +0 -1
  83. package/dist/user_manager.d.ts +0 -32
  84. package/dist/user_manager.js +0 -99
  85. package/dist/user_manager.js.map +0 -1
  86. package/dist/user_manager_ua.d.ts +0 -3
  87. package/dist/user_manager_ua.js +0 -40
  88. package/dist/user_manager_ua.js.map +0 -1
  89. package/dist/validate_filter.d.ts +0 -5
  90. package/dist/validate_filter.js +0 -82
  91. package/dist/validate_filter.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"server_session.js","sourceRoot":"","sources":["../source/server_session.ts"],"names":[],"mappings":"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"}
@@ -1,421 +0,0 @@
1
- /**
2
- * @module node-opcua-server
3
- */
4
- /// <reference types="node" />
5
- import { EventEmitter } from "events";
6
- import { AddressSpace, BaseNode, Duration } from "node-opcua-address-space";
7
- import { Byte, UInt32 } from "node-opcua-basic-types";
8
- import { SubscriptionDiagnosticsDataType } from "node-opcua-common";
9
- import { TimestampsToReturn } from "node-opcua-data-value";
10
- import { NodeId } from "node-opcua-nodeid";
11
- import { ObjectRegistry } from "node-opcua-object-registry";
12
- import { DataChangeNotification, EventNotificationList, MonitoredItemCreateResult, NotificationMessage, StatusChangeNotification, MonitoredItemCreateRequest } from "node-opcua-service-subscription";
13
- import { StatusCode } from "node-opcua-status-code";
14
- import { MonitoredItem, QueueItem } from "./monitored_item";
15
- import { ServerSession } from "./server_session";
16
- import { IServerSidePublishEngine } from "./i_server_side_publish_engine";
17
- export interface SubscriptionDiagnosticsDataTypePriv extends SubscriptionDiagnosticsDataType {
18
- $subscription: Subscription;
19
- }
20
- export declare enum SubscriptionState {
21
- CLOSED = 1,
22
- CREATING = 2,
23
- NORMAL = 3,
24
- LATE = 4,
25
- KEEPALIVE = 5,
26
- TERMINATED = 6
27
- }
28
- interface IGlobalMonitoredItemCounter {
29
- totalMonitoredItemCount: number;
30
- }
31
- export interface SubscriptionOptions {
32
- sessionId?: NodeId;
33
- /**
34
- * (default:1000) the publishing interval.
35
- */
36
- publishingInterval?: number;
37
- /**
38
- * (default:10) the max Life Time Count
39
- */
40
- maxKeepAliveCount?: number;
41
- lifeTimeCount?: number;
42
- /**
43
- * (default:true)
44
- */
45
- publishingEnabled?: boolean;
46
- /**
47
- * (default:0)
48
- */
49
- maxNotificationsPerPublish?: number;
50
- /**
51
- * subscription priority Byte:(0-255)
52
- */
53
- priority?: number;
54
- publishEngine?: IServerSidePublishEngine;
55
- /**
56
- * a unique identifier
57
- */
58
- id?: number;
59
- serverCapabilities: ServerCapabilitiesPartial;
60
- globalCounter: IGlobalMonitoredItemCounter;
61
- }
62
- export type Notification = DataChangeNotification | EventNotificationList | StatusChangeNotification;
63
- export type Counter = number;
64
- export interface ModifySubscriptionParameters {
65
- /**
66
- * requestedPublishingInterval =0 means fastest possible
67
- */
68
- requestedPublishingInterval?: Duration;
69
- requestedLifetimeCount?: Counter;
70
- /**
71
- * requestedMaxKeepAliveCount ===0 means no change
72
- */
73
- requestedMaxKeepAliveCount?: Counter;
74
- maxNotificationsPerPublish?: Counter;
75
- priority?: Byte;
76
- }
77
- export interface GetMonitoredItemsResult {
78
- /**
79
- * array of serverHandles for all MonitoredItems of the subscription
80
- * identified by subscriptionId.
81
- */
82
- serverHandles: Uint32Array;
83
- /**
84
- * array of clientHandles for all MonitoredItems of the subscription
85
- * identified by subscriptionId.
86
- */
87
- clientHandles: Uint32Array;
88
- statusCode: StatusCode;
89
- }
90
- export interface InternalNotification {
91
- monitoredItemId?: number;
92
- notification: QueueItem | StatusChangeNotification;
93
- publishTime: Date;
94
- start_tick: number;
95
- }
96
- export interface InternalCreateMonitoredItemResult {
97
- monitoredItem?: MonitoredItem;
98
- monitoredItemCreateRequest: MonitoredItemCreateRequest;
99
- createResult: MonitoredItemCreateResult;
100
- }
101
- export interface MonitoredItemBase {
102
- node: any | null;
103
- }
104
- export type CreateMonitoredItemHook = (subscription: Subscription, monitoredItem: MonitoredItemBase) => Promise<StatusCode>;
105
- export type DeleteMonitoredItemHook = (subscription: Subscription, monitoredItem: MonitoredItemBase) => Promise<StatusCode>;
106
- export interface ServerCapabilitiesPartial {
107
- maxMonitoredItems: UInt32;
108
- maxMonitoredItemsPerSubscription: UInt32;
109
- }
110
- /**
111
- * The Subscription class used in the OPCUA server side.
112
- */
113
- export declare class Subscription extends EventEmitter {
114
- static minimumPublishingInterval: number;
115
- static defaultPublishingInterval: number;
116
- static maximumPublishingInterval: number;
117
- static maxNotificationPerPublishHighLimit: number;
118
- static minimumLifetimeDuration: number;
119
- static maximumLifetimeDuration: number;
120
- /**
121
- * maximum number of monitored item in a subscription to be used
122
- * when serverCapacity.maxMonitoredItems and serverCapacity.maxMonitoredItemsPerSubscription are not set.
123
- */
124
- static defaultMaxMonitoredItemCount: number;
125
- /**
126
- * @deprecated use serverCapacity.maxMonitoredItems and serverCapacity.maxMonitoredItemsPerSubscription instead
127
- */
128
- protected static get maxMonitoredItemCount(): number;
129
- static registry: ObjectRegistry;
130
- publishEngine?: IServerSidePublishEngine;
131
- id: number;
132
- priority: number;
133
- /**
134
- * the Subscription publishing interval
135
- * @default 1000
136
- */
137
- publishingInterval: number;
138
- /**
139
- * The keep alive count defines how many times the publish interval need to
140
- * expires without having notifications available before the server send an
141
- * empty message.
142
- * OPCUA Spec says: a value of 0 is invalid.
143
- * @default 10
144
- *
145
- */
146
- maxKeepAliveCount: number;
147
- /**
148
- * The life time count defines how many times the publish interval expires without
149
- * having a connection to the client to deliver data.
150
- * If the life time count reaches maxKeepAliveCount, the subscription will
151
- * automatically terminate.
152
- * OPCUA Spec: The life-time count shall be a minimum of three times the keep keep-alive count.
153
- *
154
- * Note: this has to be interpreted as without having a PublishRequest available
155
- * @default 1
156
- */
157
- lifeTimeCount: number;
158
- /**
159
- * The maximum number of notifications that the Client wishes to receive in a
160
- * single Publish response. A value of zero indicates that there is no limit.
161
- * The number of notifications per Publish is the sum of monitoredItems in the
162
- * DataChangeNotification and events in the EventNotificationList.
163
- *
164
- * @property maxNotificationsPerPublish
165
- * @default 0
166
- */
167
- maxNotificationsPerPublish: number;
168
- publishingEnabled: boolean;
169
- subscriptionDiagnostics: SubscriptionDiagnosticsDataTypePriv;
170
- publishIntervalCount: number;
171
- /**
172
- * number of monitored Item
173
- */
174
- monitoredItemIdCounter: number;
175
- private _state;
176
- set state(value: SubscriptionState);
177
- get state(): SubscriptionState;
178
- messageSent: boolean;
179
- $session?: ServerSession;
180
- get sessionId(): NodeId;
181
- get currentLifetimeCount(): number;
182
- get currentKeepAliveCount(): number;
183
- private _life_time_counter;
184
- private _keep_alive_counter;
185
- private _pending_notifications;
186
- private _sent_notification_messages;
187
- private readonly _sequence_number_generator;
188
- private readonly monitoredItems;
189
- private timerId;
190
- private _hasUncollectedMonitoredItemNotifications;
191
- private globalCounter;
192
- private serverCapabilities;
193
- constructor(options: SubscriptionOptions);
194
- getSessionId(): NodeId;
195
- toString(): string;
196
- /**
197
- * modify subscription parameters
198
- * @param param
199
- */
200
- modify(param: ModifySubscriptionParameters): void;
201
- /**
202
- * set publishing mode
203
- * @param publishingEnabled
204
- */
205
- setPublishingMode(publishingEnabled: boolean): StatusCode;
206
- /**
207
- * @private
208
- */
209
- get keepAliveCounterHasExpired(): boolean;
210
- /**
211
- * Reset the Lifetime Counter Variable to the value specified for the lifetime of a Subscription in
212
- * the CreateSubscription Service( 5.13.2).
213
- * @private
214
- */
215
- resetLifeTimeCounter(): void;
216
- /**
217
- * @private
218
- */
219
- increaseLifeTimeCounter(): void;
220
- /**
221
- * True if the subscription life time has expired.
222
- *
223
- */
224
- get lifeTimeHasExpired(): boolean;
225
- /**
226
- * number of milliseconds before this subscription times out (lifeTimeHasExpired === true);
227
- */
228
- get timeToExpiration(): number;
229
- get timeToKeepAlive(): number;
230
- /**
231
- * Terminates the subscription.
232
- * Calling this method will also remove any monitored items.
233
- *
234
- */
235
- terminate(): void;
236
- setTriggering(triggeringItemId: number, linksToAdd: number[] | null, linksToRemove: number[] | null): {
237
- statusCode: StatusCode;
238
- addResults: StatusCode[];
239
- removeResults: StatusCode[];
240
- };
241
- dispose(): void;
242
- get aborted(): boolean;
243
- /**
244
- * number of pending notifications
245
- */
246
- get pendingNotificationsCount(): number;
247
- /**
248
- * is 'true' if there are pending notifications for this subscription. (i.e moreNotifications)
249
- */
250
- get hasPendingNotifications(): boolean;
251
- /**
252
- * number of sent notifications
253
- */
254
- get sentNotificationMessageCount(): number;
255
- /**
256
- * @internal
257
- */
258
- _flushSentNotifications(): NotificationMessage[];
259
- /**
260
- * number of monitored items handled by this subscription
261
- */
262
- get monitoredItemCount(): number;
263
- /**
264
- * number of disabled monitored items.
265
- */
266
- get disabledMonitoredItemCount(): number;
267
- /**
268
- * The number of unacknowledged messages saved in the republish queue.
269
- */
270
- get unacknowledgedMessageCount(): number;
271
- /**
272
- * adjust monitored item sampling interval
273
- * - an samplingInterval ===0 means that we use a event-base model ( no sampling)
274
- * - otherwise the sampling is adjusted
275
- * @private
276
- */
277
- adjustSamplingInterval(samplingInterval: number, node: BaseNode): number;
278
- /**
279
- * create a monitored item
280
- * @param addressSpace - address space
281
- * @param timestampsToReturn - the timestamp to return
282
- * @param monitoredItemCreateRequest - the parameters describing the monitored Item to create
283
- */
284
- preCreateMonitoredItem(addressSpace: AddressSpace, timestampsToReturn: TimestampsToReturn, monitoredItemCreateRequest: MonitoredItemCreateRequest): InternalCreateMonitoredItemResult;
285
- applyOnMonitoredItem(functor: (monitoredItem: MonitoredItem) => Promise<void>): Promise<void>;
286
- postCreateMonitoredItem(monitoredItem: MonitoredItem, monitoredItemCreateRequest: MonitoredItemCreateRequest, createResult: MonitoredItemCreateResult): void;
287
- createMonitoredItem(addressSpace: AddressSpace, timestampsToReturn: TimestampsToReturn, monitoredItemCreateRequest: MonitoredItemCreateRequest): MonitoredItemCreateResult;
288
- /**
289
- * get a monitoredItem by Id.
290
- * @param monitoredItemId : the id of the monitored item to get.
291
- * @return the monitored item matching monitoredItemId
292
- */
293
- getMonitoredItem(monitoredItemId: number): MonitoredItem | null;
294
- /**
295
- * remove a monitored Item from the subscription.
296
- * @param monitoredItemId : the id of the monitored item to get.
297
- */
298
- removeMonitoredItem(monitoredItemId: number): StatusCode;
299
- /**
300
- * rue if monitored Item have uncollected Notifications
301
- */
302
- get hasUncollectedMonitoredItemNotifications(): boolean;
303
- get subscriptionId(): number;
304
- getMessageForSequenceNumber(sequenceNumber: number): NotificationMessage | null;
305
- /**
306
- * returns true if the notification has expired
307
- * @param notification
308
- */
309
- notificationHasExpired(notification: {
310
- start_tick: number;
311
- }): boolean;
312
- /**
313
- * returns in an array the sequence numbers of the notifications that have been sent
314
- * and that haven't been acknowledged yet.
315
- */
316
- getAvailableSequenceNumbers(): number[];
317
- /**
318
- * acknowledges a notification identified by its sequence number
319
- */
320
- acknowledgeNotification(sequenceNumber: number): StatusCode;
321
- /**
322
- * getMonitoredItems is used to get information about monitored items of a subscription.Its intended
323
- * use is defined in Part 4. This method is the implementation of the Standard OPCUA GetMonitoredItems Method.
324
- * from spec:
325
- * This method can be used to get the list of monitored items in a subscription if CreateMonitoredItems
326
- * failed due to a network interruption and the client does not know if the creation succeeded in the server.
327
- *
328
- */
329
- getMonitoredItems(): GetMonitoredItemsResult;
330
- /**
331
- * @private
332
- */
333
- resendInitialValues(): Promise<void>;
334
- /**
335
- * @private
336
- */
337
- notifyTransfer(): void;
338
- /**
339
- *
340
- * the server invokes the resetLifeTimeAndKeepAliveCounters method of the subscription
341
- * when the server has send a Publish Response, so that the subscription
342
- * can reset its life time counter.
343
- *
344
- * @private
345
- */
346
- resetLifeTimeAndKeepAliveCounters(): void;
347
- private _updateCounters;
348
- /**
349
- * _publish_pending_notifications send a "notification" event:
350
- *
351
- * @private
352
- * @precondition
353
- * - pendingPublishRequestCount > 0
354
- */
355
- _publish_pending_notifications(): void;
356
- process_subscription(): void;
357
- _get_future_sequence_number(): number;
358
- private _process_keepAlive;
359
- private _stop_timer;
360
- private _start_timer;
361
- private _get_next_sequence_number;
362
- /**
363
- * @private
364
- */
365
- private _tick;
366
- /**
367
- * @private
368
- */
369
- private _sendKeepAliveResponse;
370
- /**
371
- * Reset the Lifetime Counter Variable to the value specified for the lifetime of a Subscription in
372
- * the CreateSubscription Service( 5.13.2).
373
- * @private
374
- */
375
- private resetKeepAliveCounter;
376
- /**
377
- * @private
378
- */
379
- private increaseKeepAliveCounter;
380
- /**
381
- * @private
382
- */
383
- private _addNotificationMessage;
384
- /**
385
- * @internal
386
- * @param monitoredItemId
387
- */
388
- private _removePendingNotificationsFor;
389
- /**
390
- * Extract the next Notification that is ready to be sent to the client.
391
- * @return the Notification to send._pending_notifications
392
- */
393
- private _popNotificationToSend;
394
- /**
395
- * discardOldSentNotification find all sent notification message that have expired keep-alive
396
- * and destroy them.
397
- * @private
398
- *
399
- * Subscriptions maintain a retransmission queue of sent NotificationMessages.
400
- * NotificationMessages are retained in this queue until they are acknowledged or until they have
401
- * been in the queue for a minimum of one keep-alive interval.
402
- *
403
- */
404
- private discardOldSentNotifications;
405
- /**
406
- * @param timestampsToReturn
407
- * @param monitoredItemCreateRequest
408
- * @param node
409
- * @private
410
- */
411
- private _createMonitoredItemStep2;
412
- /**
413
- *
414
- * @param monitoredItem
415
- * @param monitoredItemCreateRequest
416
- * @private
417
- */
418
- _createMonitoredItemStep3(monitoredItem: MonitoredItem | null, monitoredItemCreateRequest: MonitoredItemCreateRequest): void;
419
- private _harvestMonitoredItems;
420
- }
421
- export {};