@powersync/common 1.54.0 → 1.55.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.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}
@@ -18,3 +18,29 @@ export interface AsyncNotifier {
18
18
  notify(): void;
19
19
  }
20
20
  export declare function asyncNotifier(): AsyncNotifier;
21
+ export interface QueueOptions {
22
+ eventDelivered?: () => void;
23
+ }
24
+ export declare class EventQueue<T> {
25
+ private readonly options;
26
+ private waitingConsumer;
27
+ private readonly outstandingEvents;
28
+ constructor(options?: QueueOptions);
29
+ /**
30
+ * The amount of buffered events not yet dispatched to listeners.
31
+ */
32
+ get countOutstandingEvents(): number;
33
+ private notifyInner;
34
+ notify(value: T): void;
35
+ notifyError(error: unknown): void;
36
+ waitForEvent(signal: AbortSignal): Promise<T | undefined>;
37
+ /**
38
+ * Creates an async iterable backed by event queues.
39
+ *
40
+ * @param run A function invoked for every new listener. It receives a queue backing the async iterator.
41
+ * @param abort An additional abort signal. The `run` callback will also be aborted when `AsyncIterator.return` is
42
+ * called.
43
+ * @returns An object conforming to the async iterable protocol.
44
+ */
45
+ static queueBasedAsyncIterable<T>(run: (queue: EventQueue<T>, abort: AbortSignal) => void, abort?: AbortSignal): AsyncIterable<T>;
46
+ }
@@ -1,3 +1,5 @@
1
+ import { symbolAsyncIterator } from './compatibility.js';
2
+ import { doneResult, valueResult } from './stream_transform.js';
1
3
  /**
2
4
  * Throttle a function to be called at most once every "wait" milliseconds,
3
5
  * on the trailing edge.
@@ -17,44 +19,129 @@ export function throttleTrailing(func, wait) {
17
19
  };
18
20
  }
19
21
  export function asyncNotifier() {
20
- let waitingConsumer = null;
21
- let hasPendingNotification = false;
22
+ const queue = new EventQueue();
22
23
  return {
23
24
  notify() {
24
- if (waitingConsumer != null) {
25
- waitingConsumer();
26
- waitingConsumer = null;
25
+ if (queue.countOutstandingEvents > 0) {
26
+ // Already has an outstanding event, no need to buffer another one.
27
27
  }
28
28
  else {
29
- hasPendingNotification = true;
29
+ queue.notify();
30
30
  }
31
31
  },
32
32
  waitForNotification(signal) {
33
- return new Promise((resolve) => {
34
- if (waitingConsumer != null) {
35
- throw new Error('Illegal call to waitForNotification, already has a waiter.');
36
- }
37
- if (signal.aborted) {
38
- resolve();
33
+ return queue.waitForEvent(signal);
34
+ }
35
+ };
36
+ }
37
+ export class EventQueue {
38
+ options;
39
+ waitingConsumer;
40
+ outstandingEvents;
41
+ constructor(options = {}) {
42
+ this.options = options;
43
+ this.outstandingEvents = [];
44
+ }
45
+ /**
46
+ * The amount of buffered events not yet dispatched to listeners.
47
+ */
48
+ get countOutstandingEvents() {
49
+ return this.outstandingEvents.length;
50
+ }
51
+ notifyInner(dispatch) {
52
+ const existing = this.waitingConsumer;
53
+ this.waitingConsumer = undefined;
54
+ const dispatchAndNotifyListeners = (waiter) => {
55
+ dispatch(waiter);
56
+ this.options.eventDelivered?.();
57
+ };
58
+ if (existing) {
59
+ dispatchAndNotifyListeners(existing);
60
+ }
61
+ else {
62
+ this.outstandingEvents.push(dispatchAndNotifyListeners);
63
+ }
64
+ }
65
+ notify(value) {
66
+ this.notifyInner((l) => l.resolve(value));
67
+ }
68
+ notifyError(error) {
69
+ this.notifyInner((l) => l.reject(error));
70
+ }
71
+ waitForEvent(signal) {
72
+ return new Promise((resolve, reject) => {
73
+ if (this.waitingConsumer != null) {
74
+ throw new Error('Illegal call to waitForEvent, already has a waiter.');
75
+ }
76
+ const complete = () => {
77
+ signal?.removeEventListener('abort', onAbort);
78
+ };
79
+ const onAbort = () => {
80
+ complete();
81
+ this.waitingConsumer = undefined;
82
+ resolve(undefined);
83
+ };
84
+ const waiter = {
85
+ resolve: (value) => {
86
+ complete();
87
+ resolve(value);
88
+ },
89
+ reject: (error) => {
90
+ complete();
91
+ reject(error);
39
92
  }
40
- else if (hasPendingNotification) {
41
- resolve();
42
- hasPendingNotification = false;
93
+ };
94
+ if (signal.aborted) {
95
+ resolve(undefined);
96
+ }
97
+ else if (this.countOutstandingEvents > 0) {
98
+ const [event] = this.outstandingEvents.splice(0, 1);
99
+ event(waiter);
100
+ }
101
+ else {
102
+ this.waitingConsumer = waiter;
103
+ signal.addEventListener('abort', onAbort);
104
+ }
105
+ });
106
+ }
107
+ /**
108
+ * Creates an async iterable backed by event queues.
109
+ *
110
+ * @param run A function invoked for every new listener. It receives a queue backing the async iterator.
111
+ * @param abort An additional abort signal. The `run` callback will also be aborted when `AsyncIterator.return` is
112
+ * called.
113
+ * @returns An object conforming to the async iterable protocol.
114
+ */
115
+ static queueBasedAsyncIterable(run, abort) {
116
+ return {
117
+ [symbolAsyncIterator]: () => {
118
+ const queue = new EventQueue();
119
+ const controller = new AbortController();
120
+ function dispose() {
121
+ controller.abort();
122
+ abort?.removeEventListener('abort', dispose);
43
123
  }
44
- else {
45
- function complete() {
46
- signal.removeEventListener('abort', onAbort);
47
- resolve();
124
+ if (abort) {
125
+ if (abort.aborted) {
126
+ controller.abort();
48
127
  }
49
- function onAbort() {
50
- waitingConsumer = null;
51
- resolve();
128
+ else {
129
+ abort.addEventListener('abort', dispose);
52
130
  }
53
- waitingConsumer = complete;
54
- signal.addEventListener('abort', onAbort);
55
131
  }
56
- });
57
- }
58
- };
132
+ run(queue, controller.signal);
133
+ return {
134
+ async next() {
135
+ const event = await queue.waitForEvent(controller.signal);
136
+ return event == null ? doneResult : valueResult(event);
137
+ },
138
+ async return() {
139
+ dispose();
140
+ return doneResult;
141
+ }
142
+ };
143
+ }
144
+ };
145
+ }
59
146
  }
60
147
  //# sourceMappingURL=async.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/utils/async.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,IAAY;IAC7D,IAAI,SAAS,GAAyC,IAAI,CAAC;IAE3D,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,EAAE,CAAC;QACP,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,aAAa;IAC3B,IAAI,eAAe,GAAwB,IAAI,CAAC;IAChD,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,OAAO;QACL,MAAM;YACJ,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC5B,eAAe,EAAE,CAAC;gBAClB,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,sBAAsB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;QACD,mBAAmB,CAAC,MAAmB;YACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,sBAAsB,EAAE,CAAC;oBAClC,OAAO,EAAE,CAAC;oBACV,sBAAsB,GAAG,KAAK,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,SAAS,QAAQ;wBACf,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAC7C,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAED,SAAS,OAAO;wBACd,eAAe,GAAG,IAAI,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAED,eAAe,GAAG,QAAQ,CAAC;oBAC3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/utils/async.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Some JavaScript engines, in particular older versions of React Native, don't support Symbol.asyncIterator.
3
+ *
4
+ * For those, users relying on async generators typically lower them with a transpiler and [this polyfill](https://github.com/Azure/azure-sdk-for-js/blob/%40azure/core-asynciterator-polyfill_1.0.2/sdk/core/core-asynciterator-polyfill/src/index.ts#L4-L6).
5
+ * This definition is compatible with that polyfill, so transpiled apps can use async iterables created by the PowerSync
6
+ * SDK.
7
+ */
8
+ export declare const symbolAsyncIterator: typeof Symbol.asyncIterator;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Some JavaScript engines, in particular older versions of React Native, don't support Symbol.asyncIterator.
3
+ *
4
+ * For those, users relying on async generators typically lower them with a transpiler and [this polyfill](https://github.com/Azure/azure-sdk-for-js/blob/%40azure/core-asynciterator-polyfill_1.0.2/sdk/core/core-asynciterator-polyfill/src/index.ts#L4-L6).
5
+ * This definition is compatible with that polyfill, so transpiled apps can use async iterables created by the PowerSync
6
+ * SDK.
7
+ */
8
+ export const symbolAsyncIterator = Symbol.asyncIterator ?? Symbol.for('Symbol.asyncIterator');
9
+ //# sourceMappingURL=compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/utils/compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powersync/common",
3
- "version": "1.54.0",
3
+ "version": "1.55.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -52,7 +52,6 @@
52
52
  },
53
53
  "homepage": "https://docs.powersync.com",
54
54
  "dependencies": {
55
- "event-iterator": "^2.0.0",
56
55
  "js-logger": "^1.6.1"
57
56
  },
58
57
  "devDependencies": {
@@ -12,6 +12,58 @@ import { ATTACHMENT_TABLE, AttachmentRecord, AttachmentState } from './Schema.js
12
12
  import { SyncingService } from './SyncingService.js';
13
13
  import { WatchedAttachmentItem } from './WatchedAttachmentItem.js';
14
14
 
15
+ /**
16
+ * Configuration options for {@link AttachmentQueue}.
17
+ *
18
+ * @experimental
19
+ * @alpha This is currently experimental and may change without a major version bump.
20
+ */
21
+ export interface AttachmentQueueOptions {
22
+ /**
23
+ * PowerSync database instance
24
+ */
25
+ db: AbstractPowerSyncDatabase;
26
+ /**
27
+ * Remote storage adapter for upload/download operations
28
+ */
29
+ remoteStorage: RemoteStorageAdapter;
30
+ /**
31
+ * Local storage adapter for file persistence
32
+ */
33
+ localStorage: LocalStorageAdapter;
34
+ /**
35
+ * Callback for monitoring attachment changes in your data model
36
+ */
37
+ watchAttachments: (onUpdate: (attachment: WatchedAttachmentItem[]) => Promise<void>, signal: AbortSignal) => void;
38
+ /**
39
+ * Name of the table to store attachment records. Default: 'ps_attachment_queue'
40
+ */
41
+ tableName?: string;
42
+ /**
43
+ * Logger instance. Defaults to db.logger
44
+ */
45
+ logger?: ILogger;
46
+ /**
47
+ * Periodic polling interval in milliseconds for retrying failed uploads/downloads. Default: 30000
48
+ */
49
+ syncIntervalMs?: number;
50
+ /**
51
+ * Throttle duration in milliseconds for the reactive watch query that detects attachment changes. Prevents rapid-fire syncs during bulk changes. Default: 30
52
+ */
53
+ syncThrottleDuration?: number;
54
+ /**
55
+ * Whether to automatically download remote attachments. Default: true
56
+ */
57
+ downloadAttachments?: boolean;
58
+ /**
59
+ * Maximum archived attachments before cleanup. Default: 100
60
+ */
61
+ archivedCacheLimit?: number;
62
+
63
+ /** Handler for upload, download and delete errors */
64
+ errorHandler?: AttachmentErrorHandler;
65
+ }
66
+
15
67
  /**
16
68
  * AttachmentQueue manages the lifecycle and synchronization of attachments
17
69
  * between local and remote storage.
@@ -21,7 +73,7 @@ import { WatchedAttachmentItem } from './WatchedAttachmentItem.js';
21
73
  * @experimental
22
74
  * @alpha This is currently experimental and may change without a major version bump.
23
75
  */
24
- export class AttachmentQueue implements AttachmentQueue {
76
+ export class AttachmentQueue {
25
77
  /** Timer for periodic synchronization operations */
26
78
  private periodicSyncTimer?: ReturnType<typeof setInterval>;
27
79
 
@@ -100,49 +152,7 @@ export class AttachmentQueue implements AttachmentQueue {
100
152
  downloadAttachments = true,
101
153
  archivedCacheLimit = 100,
102
154
  errorHandler
103
- }: {
104
- /**
105
- * PowerSync database instance
106
- */
107
- db: AbstractPowerSyncDatabase;
108
- /**
109
- * Remote storage adapter for upload/download operations
110
- */
111
- remoteStorage: RemoteStorageAdapter;
112
- /**
113
- * Local storage adapter for file persistence
114
- */
115
- localStorage: LocalStorageAdapter;
116
- /**
117
- * Callback for monitoring attachment changes in your data model
118
- */
119
- watchAttachments: (onUpdate: (attachment: WatchedAttachmentItem[]) => Promise<void>, signal: AbortSignal) => void;
120
- /**
121
- * Name of the table to store attachment records. Default: 'ps_attachment_queue'
122
- */
123
- tableName?: string;
124
- /**
125
- * Logger instance. Defaults to db.logger
126
- */
127
- logger?: ILogger;
128
- /**
129
- * Periodic polling interval in milliseconds for retrying failed uploads/downloads. Default: 30000
130
- */
131
- syncIntervalMs?: number;
132
- /**
133
- * Throttle duration in milliseconds for the reactive watch query that detects attachment changes. Prevents rapid-fire syncs during bulk changes. Default: 30
134
- */
135
- syncThrottleDuration?: number;
136
- /**
137
- * Whether to automatically download remote attachments. Default: true
138
- */
139
- downloadAttachments?: boolean;
140
- /**
141
- * Maximum archived attachments before cleanup. Default: 100
142
- */
143
- archivedCacheLimit?: number;
144
- errorHandler?: AttachmentErrorHandler;
145
- }) {
155
+ }: AttachmentQueueOptions) {
146
156
  this.db = db;
147
157
  this.remoteStorage = remoteStorage;
148
158
  this.localStorage = localStorage;
@@ -1,4 +1,3 @@
1
- import { EventIterator } from 'event-iterator';
2
1
  import Logger, { ILogger } from 'js-logger';
3
2
  import {
4
3
  BatchedUpdateNotification,
@@ -14,7 +13,7 @@ import { UploadQueueStats } from '../db/crud/UploadQueueStatus.js';
14
13
  import { Schema } from '../db/schema/Schema.js';
15
14
  import { BaseObserver } from '../utils/BaseObserver.js';
16
15
  import { ControlledExecutor } from '../utils/ControlledExecutor.js';
17
- import { throttleTrailing } from '../utils/async.js';
16
+ import { EventQueue, throttleTrailing } from '../utils/async.js';
18
17
  import {
19
18
  ConnectionManager,
20
19
  CreateSyncImplementationOptions,
@@ -47,6 +46,7 @@ import { DEFAULT_WATCH_THROTTLE_MS, WatchCompatibleQuery } from './watched/Watch
47
46
  import { OnChangeQueryProcessor } from './watched/processors/OnChangeQueryProcessor.js';
48
47
  import { WatchedQueryComparator } from './watched/processors/comparators.js';
49
48
  import { Mutex } from '../utils/mutex.js';
49
+ import { symbolAsyncIterator } from '../utils/compatibility.js';
50
50
 
51
51
  /**
52
52
  * @public
@@ -762,7 +762,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
762
762
  * @returns A transaction of CRUD operations to upload, or null if there are none
763
763
  */
764
764
  async getNextCrudTransaction(): Promise<CrudTransaction | null> {
765
- const iterator = this.getCrudTransactions()[Symbol.asyncIterator]();
765
+ const iterator = this.getCrudTransactions()[symbolAsyncIterator]();
766
766
  return (await iterator.next()).value;
767
767
  }
768
768
 
@@ -799,7 +799,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
799
799
  */
800
800
  getCrudTransactions(): AsyncIterable<CrudTransaction, null> {
801
801
  return {
802
- [Symbol.asyncIterator]: () => {
802
+ [symbolAsyncIterator]: () => {
803
803
  let lastCrudItemId = -1;
804
804
  const sql = `
805
805
  WITH RECURSIVE crud_entries AS (
@@ -1193,22 +1193,18 @@ SELECT * FROM crud_entries;
1193
1193
  * @returns An AsyncIterable that yields QueryResults whenever the data changes
1194
1194
  */
1195
1195
  watchWithAsyncGenerator(sql: string, parameters?: any[], options?: SQLWatchOptions): AsyncIterable<QueryResult> {
1196
- return new EventIterator<QueryResult>((eventOptions) => {
1196
+ return EventQueue.queueBasedAsyncIterable((queue, abort) => {
1197
1197
  const handler: WatchHandler = {
1198
1198
  onResult: (result) => {
1199
- eventOptions.push(result);
1199
+ queue.notify(result);
1200
1200
  },
1201
1201
  onError: (error) => {
1202
- eventOptions.fail(error);
1202
+ queue.notifyError(error);
1203
1203
  }
1204
1204
  };
1205
1205
 
1206
- this.watchWithCallback(sql, parameters, handler, options);
1207
-
1208
- options?.signal?.addEventListener('abort', () => {
1209
- eventOptions.stop();
1210
- });
1211
- });
1206
+ this.watchWithCallback(sql, parameters, handler, { ...options, signal: abort });
1207
+ }, options?.signal);
1212
1208
  }
1213
1209
 
1214
1210
  /**
@@ -1353,34 +1349,27 @@ SELECT * FROM crud_entries;
1353
1349
  * This is preferred over {@link AbstractPowerSyncDatabase.watchWithAsyncGenerator} when multiple queries need to be
1354
1350
  * performed together when data is changed.
1355
1351
  *
1356
- * Note: do not declare this as `async *onChange` as it will not work in React Native.
1357
- *
1358
1352
  * @param options - Options for configuring watch behavior
1359
1353
  * @returns An AsyncIterable that yields change events whenever the specified tables change
1360
1354
  */
1355
+ // Note: do not declare this as `async *onChange` as it will not work in React Native.
1361
1356
  onChangeWithAsyncGenerator(options?: SQLWatchOptions): AsyncIterable<WatchOnChangeEvent> {
1362
- const resolvedOptions = options ?? {};
1363
-
1364
- return new EventIterator<WatchOnChangeEvent>((eventOptions) => {
1365
- const dispose = this.onChangeWithCallback(
1357
+ return EventQueue.queueBasedAsyncIterable((queue, abort) => {
1358
+ this.onChangeWithCallback(
1366
1359
  {
1367
1360
  onChange: (event): void => {
1368
- eventOptions.push(event);
1361
+ queue.notify(event);
1369
1362
  },
1370
1363
  onError: (error) => {
1371
- eventOptions.fail(error);
1364
+ queue.notifyError(error);
1372
1365
  }
1373
1366
  },
1374
- options
1367
+ { ...options, signal: abort }
1375
1368
  );
1376
1369
 
1377
- resolvedOptions.signal?.addEventListener('abort', () => {
1378
- eventOptions.stop();
1379
- // Maybe fail?
1380
- });
1381
-
1382
- return () => dispose();
1383
- });
1370
+ // Note: We don't have to track the dispose function returned by onChangeWithCallback, it cleans up
1371
+ // after the abort signal completes.
1372
+ }, options?.signal);
1384
1373
  }
1385
1374
 
1386
1375
  private handleTableChanges(
@@ -9,10 +9,10 @@ import {
9
9
  doneResult,
10
10
  extractBsonObjects,
11
11
  extractJsonLines,
12
- SimpleAsyncIterator
12
+ SimpleAsyncIterator,
13
+ valueResult
13
14
  } from '../../../utils/stream_transform.js';
14
- import { EventIterator } from 'event-iterator';
15
- import type { Queue } from 'event-iterator/lib/event-iterator.js';
15
+ import { EventQueue } from '../../../utils/async.js';
16
16
 
17
17
  /**
18
18
  * @internal
@@ -329,8 +329,19 @@ export abstract class AbstractRemote {
329
329
  let pendingSocket: WebSocket | null = null;
330
330
  let keepAliveTimeout: any;
331
331
  let rsocket: RSocket | null = null;
332
- let queue: Queue<Uint8Array> | null = null;
332
+ let paused = false;
333
+ const queue = new EventQueue<Uint8Array | null>({
334
+ eventDelivered: () => {
335
+ if (queue.countOutstandingEvents <= SYNC_QUEUE_REQUEST_LOW_WATER) {
336
+ paused = false;
337
+ requestMore();
338
+ }
339
+ }
340
+ });
333
341
  let didClose = false;
342
+ let connectionEstablished = false;
343
+ let pendingEventsCount = syncQueueRequestSize;
344
+ let res: Requestable | null = null;
334
345
 
335
346
  const abortRequest = () => {
336
347
  if (didClose) {
@@ -348,11 +359,26 @@ export abstract class AbstractRemote {
348
359
  rsocket.close();
349
360
  }
350
361
 
351
- if (queue) {
352
- queue.stop();
353
- }
362
+ // Send a bogus event to the queue to ensure a pending listener gets woken up. We check for didClose and would
363
+ // return a doneEvent.
364
+ queue.notify(null);
354
365
  };
355
366
 
367
+ function push(event: Uint8Array) {
368
+ queue.notify(event);
369
+ if (queue.countOutstandingEvents >= SYNC_QUEUE_REQUEST_HIGH_WATER) {
370
+ paused = true;
371
+ }
372
+ }
373
+
374
+ function requestMore() {
375
+ const delta = syncQueueRequestSize - pendingEventsCount;
376
+ if (!paused && delta > 0) {
377
+ res?.request(delta);
378
+ pendingEventsCount = syncQueueRequestSize;
379
+ }
380
+ }
381
+
356
382
  // Handle upstream abort
357
383
  if (options.abortSignal.aborted) {
358
384
  throw new AbortOperation('Connection request aborted');
@@ -413,31 +439,18 @@ export abstract class AbstractRemote {
413
439
  rsocket.onClose(() => (rsocket = null));
414
440
 
415
441
  return await new Promise((resolve, reject) => {
416
- let connectionEstablished = false;
417
- let pendingEventsCount = syncQueueRequestSize;
418
- let paused = false;
419
- let res: Requestable | null = null;
420
-
421
- function requestMore() {
422
- const delta = syncQueueRequestSize - pendingEventsCount;
423
- if (!paused && delta > 0) {
424
- res?.request(delta);
425
- pendingEventsCount = syncQueueRequestSize;
426
- }
427
- }
428
-
429
- const events = new EventIterator<Uint8Array>(
430
- (q) => {
431
- queue = q;
442
+ const queueAsIterator: SimpleAsyncIterator<Uint8Array> = {
443
+ next: async () => {
444
+ if (didClose) return doneResult;
432
445
 
433
- q.on('highWater', () => (paused = true));
434
- q.on('lowWater', () => {
435
- paused = false;
436
- requestMore();
437
- });
438
- },
439
- { highWaterMark: SYNC_QUEUE_REQUEST_HIGH_WATER, lowWaterMark: SYNC_QUEUE_REQUEST_LOW_WATER }
440
- )[Symbol.asyncIterator]();
446
+ const notification = await queue.waitForEvent(options.abortSignal);
447
+ if (didClose) {
448
+ return doneResult;
449
+ } else {
450
+ return valueResult(notification!);
451
+ }
452
+ }
453
+ };
441
454
 
442
455
  res = rsocket!.requestStream(
443
456
  {
@@ -476,12 +489,12 @@ export abstract class AbstractRemote {
476
489
  // The connection is active
477
490
  if (!connectionEstablished) {
478
491
  connectionEstablished = true;
479
- resolve(events);
492
+ resolve(queueAsIterator);
480
493
  }
481
494
  const { data } = payload;
482
495
 
483
496
  if (data) {
484
- queue!.push(data);
497
+ push(data);
485
498
  }
486
499
 
487
500
  // Less events are now pending