@boatkit-io/restream 0.14.4 → 0.15.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.
@@ -2,6 +2,11 @@ import { deferred } from '../utils/TSUtils.js';
2
2
  import BinaryWriter from '../utils/BinaryWriter.js';
3
3
  import BinaryReader from '../utils/BinaryReader.js';
4
4
  import TriggerStore from '../stores/TriggerStore.js';
5
+ const maxSocketStoreSubscriptions = 4096;
6
+ const maxSocketKeyedEventSubscriptions = 4096;
7
+ const maxSocketDataStreamSubscriptions = 64;
8
+ const maxSocketPendingRPCs = 128;
9
+ const maxSocketSessionAttachOperations = 8192;
5
10
  export class RPCStruct {
6
11
  rpcBoundName;
7
12
  responseType;
@@ -33,6 +38,11 @@ var SocketEventNames;
33
38
  SocketEventNames["Event"] = "event";
34
39
  SocketEventNames["KeyedEvent"] = "keyedevent";
35
40
  SocketEventNames["KeyedEventSubscription"] = "keyedeventsub";
41
+ SocketEventNames["DataStreamSubscription"] = "datastreamsub";
42
+ SocketEventNames["DataStreamEndpoint"] = "datastreamendpoint";
43
+ SocketEventNames["ViewerSessionAttach"] = "viewersessionattach";
44
+ SocketEventNames["ViewerSessionAttached"] = "viewersessionattached";
45
+ SocketEventNames["ViewerSessionClose"] = "viewersessionclose";
36
46
  SocketEventNames["RPCCall"] = "rpccall";
37
47
  SocketEventNames["RPCCallResponse"] = "rpccallresp";
38
48
  SocketEventNames["FFRPCCall"] = "ffrpc";
@@ -51,19 +61,77 @@ export class ReStreamSocket {
51
61
  _socket;
52
62
  _timestampOffset = 0;
53
63
  _authenticated = false;
64
+ _viewerSessions;
65
+ _sessionAttachTimeoutMs;
66
+ _sessionID;
67
+ _sessionAttach;
68
+ _sessionAttachTimer;
69
+ _sessionAttachOperations = [];
70
+ _sessionFallbackAttempted = false;
71
+ _capabilities = { dataStreams: false };
54
72
  _rpcCallID = 1;
73
+ _dataStreamSubscriptionID = 1;
55
74
  _rpcCallsPending = new Map();
56
75
  _eventSubscriptions = new Map();
57
76
  _keyedEventSubscriptions = new Map();
58
- constructor(socket) {
77
+ _dataStreamSubscriptions = new Map();
78
+ constructor(socket, options = {}) {
59
79
  this._socket = socket;
80
+ this._viewerSessions = options.viewerSessions ?? false;
81
+ this._sessionAttachTimeoutMs = options.sessionAttachTimeoutMs ?? 10_000;
60
82
  socket.on('disconnect', () => {
61
- for (const v of this._rpcCallsPending.values()) {
62
- v.def.reject({ message: "Server is disconnected", data: {} });
83
+ if (!this._viewerSessions) {
84
+ for (const v of this._rpcCallsPending.values()) {
85
+ v.def.reject({ message: "Server is disconnected", data: {} });
86
+ }
87
+ this._rpcCallsPending.clear();
88
+ for (const group of this._dataStreamSubscriptions.values()) {
89
+ group.endpoint = undefined;
90
+ group.error = new Error("Server is disconnected");
91
+ for (const subscription of group.subscriptions) {
92
+ subscription.callback(undefined, group.error);
93
+ }
94
+ }
63
95
  }
64
- this._rpcCallsPending.clear();
96
+ this._clearSessionAttach(new Error("Server disconnected during session attachment"));
65
97
  this._authenticated = false;
66
98
  });
99
+ socket.on(SocketEventNames.ViewerSessionAttached, (message) => {
100
+ if (!this._viewerSessions || !this._sessionAttach) {
101
+ return;
102
+ }
103
+ if (message.error) {
104
+ if (this._sessionID && !this._sessionFallbackAttempted) {
105
+ this._sessionFallbackAttempted = true;
106
+ this._sessionID = undefined;
107
+ this._rejectPendingRPCs("Viewer session expired");
108
+ for (const group of this._dataStreamSubscriptions.values()) {
109
+ group.endpoint = undefined;
110
+ group.error = undefined;
111
+ }
112
+ this._emitSessionAttach();
113
+ return;
114
+ }
115
+ this._clearSessionAttach(new Error(message.error));
116
+ return;
117
+ }
118
+ if (!message.sessionID) {
119
+ this._clearSessionAttach(new Error("Server returned an empty viewer session ID"));
120
+ return;
121
+ }
122
+ this._sessionID = message.sessionID;
123
+ this._capabilities = message.capabilities ?? { dataStreams: false };
124
+ this._authenticated = true;
125
+ const attachOperations = this._sessionAttachOperations;
126
+ this._sessionAttachOperations = [];
127
+ const attaching = this._sessionAttach;
128
+ this._sessionAttach = undefined;
129
+ this._clearSessionAttachTimer();
130
+ for (const operation of attachOperations) {
131
+ this._socket.emit(operation.name, operation.message);
132
+ }
133
+ attaching.resolve(undefined);
134
+ });
67
135
  socket.on(SocketEventNames.StoreUpdate, (message) => {
68
136
  this._timestampOffset = Date.now() - message.time;
69
137
  TriggerStore.handleUpdateMessage(message);
@@ -91,6 +159,18 @@ export class ReStreamSocket {
91
159
  subscription.callback(event);
92
160
  }
93
161
  });
162
+ socket.on(SocketEventNames.DataStreamEndpoint, (message) => {
163
+ const group = this._dataStreamSubscriptions.get(message.subscriptionID);
164
+ if (!group) {
165
+ return;
166
+ }
167
+ const error = message.error ? new Error(message.error) : undefined;
168
+ group.endpoint = message.endpoint;
169
+ group.error = error;
170
+ for (const subscription of [...group.subscriptions]) {
171
+ subscription.callback(message.endpoint, error);
172
+ }
173
+ });
94
174
  socket.on(SocketEventNames.RPCCallResponse, (message) => {
95
175
  const waiting = this._rpcCallsPending.get(message.callID);
96
176
  this._rpcCallsPending.delete(message.callID);
@@ -111,6 +191,10 @@ export class ReStreamSocket {
111
191
  }
112
192
  });
113
193
  TriggerStore.eventSubscriptionStarted.subscribe((storeName, key) => {
194
+ if (TriggerStore.getStoreSubs().length > maxSocketStoreSubscriptions) {
195
+ this._socket.disconnect();
196
+ throw new Error(`ReStream store subscription limit exceeded (${maxSocketStoreSubscriptions})`);
197
+ }
114
198
  if (this._authenticated) {
115
199
  const message = {
116
200
  action: StoreSubscriptionAction.Subscribe,
@@ -119,6 +203,13 @@ export class ReStreamSocket {
119
203
  };
120
204
  this._socket.emit(SocketEventNames.StoreSubscription, message);
121
205
  }
206
+ else if (this._sessionAttach) {
207
+ this._queueSessionAttachOperation(SocketEventNames.StoreSubscription, {
208
+ action: StoreSubscriptionAction.Subscribe,
209
+ storeName,
210
+ key,
211
+ });
212
+ }
122
213
  });
123
214
  TriggerStore.eventSubscriptionStopped.subscribe((storeName, key) => {
124
215
  if (this._authenticated) {
@@ -129,11 +220,32 @@ export class ReStreamSocket {
129
220
  };
130
221
  this._socket.emit(SocketEventNames.StoreSubscription, message);
131
222
  }
223
+ else if (this._sessionAttach) {
224
+ this._queueSessionAttachOperation(SocketEventNames.StoreSubscription, {
225
+ action: StoreSubscriptionAction.Unsubscribe,
226
+ storeName,
227
+ key,
228
+ });
229
+ }
132
230
  });
133
231
  }
134
232
  markAuthenticated() {
233
+ if (this._viewerSessions) {
234
+ if (this._sessionAttach) {
235
+ return this._sessionAttach.promise;
236
+ }
237
+ this._sessionAttach = deferred();
238
+ this._sessionFallbackAttempted = false;
239
+ this._emitSessionAttach();
240
+ return this._sessionAttach.promise;
241
+ }
242
+ const storeSubscriptions = TriggerStore.getStoreSubs();
243
+ if (storeSubscriptions.length > maxSocketStoreSubscriptions) {
244
+ this._socket.disconnect();
245
+ throw new Error(`ReStream store subscription limit exceeded (${maxSocketStoreSubscriptions})`);
246
+ }
135
247
  this._authenticated = true;
136
- for (const storeSub of TriggerStore.getStoreSubs()) {
248
+ for (const storeSub of storeSubscriptions) {
137
249
  const message = {
138
250
  action: StoreSubscriptionAction.Subscribe,
139
251
  storeName: storeSub.storeName,
@@ -144,11 +256,62 @@ export class ReStreamSocket {
144
256
  for (const group of this._keyedEventSubscriptions.values()) {
145
257
  this._emitKeyedEventSubscription(group, StoreSubscriptionAction.Subscribe);
146
258
  }
259
+ for (const group of this._dataStreamSubscriptions.values()) {
260
+ group.endpoint = undefined;
261
+ group.error = undefined;
262
+ this._emitDataStreamSubscription(group, StoreSubscriptionAction.Subscribe);
263
+ }
264
+ return Promise.resolve();
265
+ }
266
+ /** Enables the optional session handshake before the first authentication. */
267
+ enableViewerSessions() {
268
+ this.setViewerSessionsEnabled(true);
269
+ }
270
+ /** Applies the capability negotiated for the next authenticated transport. */
271
+ setViewerSessionsEnabled(enabled) {
272
+ if (this._authenticated || this._sessionAttach) {
273
+ throw new Error("Viewer session capability must be set before authentication");
274
+ }
275
+ if (this._viewerSessions === enabled) {
276
+ return;
277
+ }
278
+ this._viewerSessions = enabled;
279
+ if (!enabled && this._sessionID) {
280
+ this._sessionID = undefined;
281
+ this._capabilities = { dataStreams: false };
282
+ this._rejectPendingRPCs("Viewer sessions are unavailable on this server");
283
+ for (const group of this._dataStreamSubscriptions.values()) {
284
+ group.endpoint = undefined;
285
+ group.error = undefined;
286
+ }
287
+ }
288
+ }
289
+ getSessionID() {
290
+ return this._sessionID;
291
+ }
292
+ getCapabilities() {
293
+ return { ...this._capabilities };
294
+ }
295
+ closeSession() {
296
+ const sessionID = this._sessionID;
297
+ this._sessionID = undefined;
298
+ this._authenticated = false;
299
+ this._clearSessionAttach(new Error("Viewer session closed"));
300
+ this._rejectPendingRPCs("Viewer session closed");
301
+ if (!this._viewerSessions || !sessionID) {
302
+ return;
303
+ }
304
+ const message = { sessionID };
305
+ this._socket.emit(SocketEventNames.ViewerSessionClose, message);
147
306
  }
148
307
  sendRPC(rpcStruct) {
149
308
  if (!this._authenticated) {
150
309
  return Promise.reject(new Error("Server is disconnected"));
151
310
  }
311
+ if (this._rpcCallsPending.size >= maxSocketPendingRPCs) {
312
+ this._socket.disconnect();
313
+ return Promise.reject(new Error(`ReStream pending RPC limit exceeded (${maxSocketPendingRPCs})`));
314
+ }
152
315
  const w = new BinaryWriter();
153
316
  rpcStruct.serialize(w, undefined);
154
317
  const msg = {
@@ -207,6 +370,10 @@ export class ReStreamSocket {
207
370
  const identity = keyedEventSubscriptionIdentity(storeName, eventName, key);
208
371
  let group = this._keyedEventSubscriptions.get(identity);
209
372
  if (!group) {
373
+ if (this._keyedEventSubscriptions.size >= maxSocketKeyedEventSubscriptions) {
374
+ this._socket.disconnect();
375
+ throw new Error(`ReStream keyed event subscription limit exceeded (${maxSocketKeyedEventSubscriptions})`);
376
+ }
210
377
  group = {
211
378
  storeName,
212
379
  eventName,
@@ -224,6 +391,9 @@ export class ReStreamSocket {
224
391
  if (first && this._authenticated) {
225
392
  this._emitKeyedEventSubscription(group, StoreSubscriptionAction.Subscribe);
226
393
  }
394
+ else if (first && this._sessionAttach) {
395
+ this._queueSessionAttachOperation(SocketEventNames.KeyedEventSubscription, this._keyedEventSubscriptionMessage(group, StoreSubscriptionAction.Subscribe));
396
+ }
227
397
  return () => {
228
398
  if (!group.subscriptions.delete(subscription) || group.subscriptions.size > 0) {
229
399
  return;
@@ -231,20 +401,154 @@ export class ReStreamSocket {
231
401
  if (this._authenticated) {
232
402
  this._emitKeyedEventSubscription(group, StoreSubscriptionAction.Unsubscribe);
233
403
  }
404
+ else if (this._sessionAttach) {
405
+ this._queueSessionAttachOperation(SocketEventNames.KeyedEventSubscription, this._keyedEventSubscriptionMessage(group, StoreSubscriptionAction.Unsubscribe));
406
+ }
234
407
  this._keyedEventSubscriptions.delete(identity);
235
408
  };
236
409
  }
410
+ subscribeToDataStream(storeName, streamName, key, callback) {
411
+ if (!storeName) {
412
+ throw new Error("Data stream store name is required");
413
+ }
414
+ if (!streamName) {
415
+ throw new Error("Data stream name is required");
416
+ }
417
+ if (!key) {
418
+ throw new Error("Data stream key is required");
419
+ }
420
+ const identity = dataStreamSubscriptionIdentity(storeName, streamName, key);
421
+ let group = [...this._dataStreamSubscriptions.values()].find((candidate) => dataStreamSubscriptionIdentity(candidate.storeName, candidate.streamName, candidate.key) === identity);
422
+ if (!group) {
423
+ if (this._dataStreamSubscriptions.size >= maxSocketDataStreamSubscriptions) {
424
+ this._socket.disconnect();
425
+ throw new Error(`ReStream data stream subscription limit exceeded (${maxSocketDataStreamSubscriptions})`);
426
+ }
427
+ group = {
428
+ subscriptionID: `stream-${this._dataStreamSubscriptionID++}`,
429
+ storeName,
430
+ streamName,
431
+ key,
432
+ subscriptions: new Set(),
433
+ };
434
+ this._dataStreamSubscriptions.set(group.subscriptionID, group);
435
+ }
436
+ const subscription = { callback };
437
+ const first = group.subscriptions.size === 0;
438
+ group.subscriptions.add(subscription);
439
+ if (!first && (group.endpoint || group.error)) {
440
+ callback(group.endpoint, group.error);
441
+ }
442
+ if (first && this._authenticated) {
443
+ this._emitDataStreamSubscription(group, StoreSubscriptionAction.Subscribe);
444
+ }
445
+ else if (first && this._sessionAttach) {
446
+ this._queueSessionAttachOperation(SocketEventNames.DataStreamSubscription, this._dataStreamSubscriptionMessage(group, StoreSubscriptionAction.Subscribe));
447
+ }
448
+ return () => {
449
+ if (!group.subscriptions.delete(subscription) || group.subscriptions.size > 0) {
450
+ return;
451
+ }
452
+ if (this._authenticated) {
453
+ this._emitDataStreamSubscription(group, StoreSubscriptionAction.Unsubscribe);
454
+ }
455
+ else if (this._sessionAttach) {
456
+ this._queueSessionAttachOperation(SocketEventNames.DataStreamSubscription, this._dataStreamSubscriptionMessage(group, StoreSubscriptionAction.Unsubscribe));
457
+ }
458
+ this._dataStreamSubscriptions.delete(group.subscriptionID);
459
+ };
460
+ }
461
+ _emitSessionAttach() {
462
+ if (!this._sessionAttach) {
463
+ return;
464
+ }
465
+ // The authoritative manifest below includes every change made before
466
+ // this call. Only deltas occurring while this attachment is in flight
467
+ // need replaying after the acknowledgement.
468
+ this._sessionAttachOperations = [];
469
+ const request = {
470
+ sessionID: this._sessionID ?? '',
471
+ storeSubscriptions: TriggerStore.getStoreSubs().map(subscription => ({
472
+ storeName: subscription.storeName,
473
+ key: subscription.key ?? '',
474
+ })),
475
+ keyedEventSubscriptions: [...this._keyedEventSubscriptions.values()].map(group => ({
476
+ storeName: group.storeName,
477
+ eventName: group.eventName,
478
+ action: StoreSubscriptionAction.Subscribe,
479
+ key: group.key,
480
+ })),
481
+ dataStreamSubscriptions: [...this._dataStreamSubscriptions.values()].map(group => ({
482
+ subscriptionID: group.subscriptionID,
483
+ storeName: group.storeName,
484
+ streamName: group.streamName,
485
+ key: group.key,
486
+ })),
487
+ };
488
+ this._clearSessionAttachTimer();
489
+ this._sessionAttachTimer = setTimeout(() => {
490
+ this._clearSessionAttach(new Error("Viewer session attachment timed out"));
491
+ }, this._sessionAttachTimeoutMs);
492
+ this._socket.emit(SocketEventNames.ViewerSessionAttach, request);
493
+ }
494
+ _clearSessionAttach(error) {
495
+ this._clearSessionAttachTimer();
496
+ this._sessionAttachOperations = [];
497
+ const attaching = this._sessionAttach;
498
+ this._sessionAttach = undefined;
499
+ attaching?.reject(error);
500
+ }
501
+ _clearSessionAttachTimer() {
502
+ if (this._sessionAttachTimer !== undefined) {
503
+ clearTimeout(this._sessionAttachTimer);
504
+ this._sessionAttachTimer = undefined;
505
+ }
506
+ }
507
+ _rejectPendingRPCs(message) {
508
+ for (const waiting of this._rpcCallsPending.values()) {
509
+ waiting.def.reject({ message, data: {} });
510
+ }
511
+ this._rpcCallsPending.clear();
512
+ }
237
513
  _emitKeyedEventSubscription(group, action) {
238
- const message = {
514
+ this._socket.emit(SocketEventNames.KeyedEventSubscription, this._keyedEventSubscriptionMessage(group, action));
515
+ }
516
+ _keyedEventSubscriptionMessage(group, action) {
517
+ return {
239
518
  storeName: group.storeName,
240
519
  eventName: group.eventName,
241
520
  action,
242
521
  key: group.key,
243
522
  };
244
- this._socket.emit(SocketEventNames.KeyedEventSubscription, message);
523
+ }
524
+ _emitDataStreamSubscription(group, action) {
525
+ this._socket.emit(SocketEventNames.DataStreamSubscription, this._dataStreamSubscriptionMessage(group, action));
526
+ }
527
+ _dataStreamSubscriptionMessage(group, action) {
528
+ return {
529
+ subscriptionID: group.subscriptionID,
530
+ storeName: group.storeName,
531
+ streamName: group.streamName,
532
+ action,
533
+ key: group.key,
534
+ };
535
+ }
536
+ _queueSessionAttachOperation(name, message) {
537
+ if (!this._sessionAttach) {
538
+ return;
539
+ }
540
+ if (this._sessionAttachOperations.length >= maxSocketSessionAttachOperations) {
541
+ this._clearSessionAttach(new Error(`ReStream session attach operation limit exceeded (${maxSocketSessionAttachOperations})`));
542
+ this._socket.disconnect();
543
+ return;
544
+ }
545
+ this._sessionAttachOperations.push({ name, message });
245
546
  }
246
547
  }
247
548
  function keyedEventSubscriptionIdentity(storeName, eventName, key) {
248
549
  return JSON.stringify([storeName, eventName, key]);
249
550
  }
551
+ function dataStreamSubscriptionIdentity(storeName, streamName, key) {
552
+ return JSON.stringify([storeName, streamName, key]);
553
+ }
250
554
  //# sourceMappingURL=SocketHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketHelper.js","sourceRoot":"","sources":["../../../src/websocket/SocketHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SocketHelper.js","sourceRoot":"","sources":["../../../src/websocket/SocketHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boatkit-io/restream",
3
- "version": "0.14.4",
3
+ "version": "0.15.0",
4
4
  "description": "TypeScript helpers for ReStream clients.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.1.2",