@peerbit/shared-log 16.0.30 → 16.0.32

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,3 +1,8 @@
1
+ import { AbortError } from "@peerbit/time";
2
+ /** Local receive drain cancellation; never a transport or persistence failure. */
3
+ export declare class SyncReceiveAbortError extends AbortError {
4
+ }
5
+ export declare const isSyncDispatchCancellation: (error: unknown, signal: AbortSignal | undefined, inactive?: boolean) => boolean;
1
6
  export interface DispatchTargetLifecycleBase<LC> {
2
7
  lifecycle: LC;
3
8
  target: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/sync/dispatch-lifecycle.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,2BAA2B,CAAC,EAAE;IAC9C,SAAS,EAAE,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB,CAAC,EAAE;IACxC,4BAA4B,EAAE,eAAe,CAAC;IAC9C,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,6BAA6B,CACxC,EAAE,SAAS,qBAAqB,CAAC,EAAE,CAAC,EACpC,EAAE,SAAS,2BAA2B,CAAC,EAAE,CAAC,IACvC;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,mCAAmC,EAAE,MAAM,eAAe,CAAC;IAE3D,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,OAAO,CAAC;IAE5C,eAAe,EAAE,CAAC,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC;IAGlD,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,qBAAa,yBAAyB,CACrC,EAAE,SAAS,qBAAqB,CAAC,EAAE,CAAC,EACpC,EAAE,SAAS,2BAA2B,CAAC,EAAE,CAAC;IAI9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAa;gBAE5B,IAAI,EAAE,6BAA6B,CAAC,EAAE,EAAE,EAAE,CAAC;IAOxE,QAAQ,CACP,SAAS,EAAE,EAAE,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,qBAAqB,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,EAAE,GAAG,SAAS,EACxE,kBAAkB,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,KAAK,IAAI,GAChD,IAAI;IA0CP,WAAW,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAQxD,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAUrD,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI;IAK3B,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI;IA+BjC,iBAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAuB1D,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW;CAMrD;AAMD,eAAO,MAAM,2BAA2B,GAAI,YAAY;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,4BAA4B,EAAE,eAAe,CAAC;IAC9C,mCAAmC,EAAE,eAAe,CAAC;CACrD,KAAG,OAIoD,CAAC;AAOzD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,EAAE,YAAY;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,eAAe,CAAC;IACnC,4BAA4B,EAAE,eAAe,CAAC;IAC9C,mCAAmC,EAAE,eAAe,CAAC;IACrD,OAAO,EAAE,QAAQ,CAAC;IAClB,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC,KAAG,OAOyC,CAAC"}
1
+ {"version":3,"file":"dispatch-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/sync/dispatch-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,21 @@
16
16
  // caller-specific fields such as epochs, batches and retained-work
17
17
  // counters); the registry owns the per-target active sets, the listener
18
18
  // add/remove pairing and the dispose gating.
19
+ import { AbortError } from "@peerbit/time";
20
+ /** Local receive drain cancellation; never a transport or persistence failure. */
21
+ export class SyncReceiveAbortError extends AbortError {
22
+ }
23
+ export const isSyncDispatchCancellation = (error, signal, inactive = signal?.aborted === true) => {
24
+ if (!inactive)
25
+ return false;
26
+ // Keep the existing owner/disconnect error policy. Only the new receive
27
+ // cancellation must distinguish unrelated failures that race its abort.
28
+ if (!(signal?.reason instanceof SyncReceiveAbortError))
29
+ return true;
30
+ return (error === signal.reason ||
31
+ error instanceof AbortError ||
32
+ (error instanceof Error && error.name === "AbortError"));
33
+ };
19
34
  export class DispatchLifecycleRegistry {
20
35
  deps;
21
36
  activeTargets = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-lifecycle.js","sourceRoot":"","sources":["../../../src/sync/dispatch-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-lifecycle.js","sourceRoot":"","sources":["../../../src/sync/dispatch-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -173,7 +173,9 @@ export interface Syncronizer<R extends "u32" | "u64"> {
173
173
  targets: string[];
174
174
  signal?: AbortSignal;
175
175
  }): Promise<void> | void;
176
- onMessage(message: TransportMessage, context: RequestContext): Promise<boolean> | boolean;
176
+ onMessage(message: TransportMessage, context: RequestContext, options?: {
177
+ signal?: AbortSignal;
178
+ }): Promise<boolean> | boolean;
177
179
  onReceivedEntries(properties: {
178
180
  entries: EntryWithRefs<any>[];
179
181
  from: PublicSignKey;
@@ -189,6 +191,13 @@ export interface Syncronizer<R extends "u32" | "u64"> {
189
191
  onEntryRemoved(hash: string): void;
190
192
  onPeerDisconnected(key: PublicSignKey | string): void;
191
193
  open(): Promise<void> | void;
194
+ /**
195
+ * Synchronously fence dispatch admission and cancel the current generation's
196
+ * network waits before SharedLog drains admitted receives. Do not stop shared
197
+ * indexes or discard physical-work accounting here: close() still runs after
198
+ * those receives settle. Optional for existing custom synchronizers.
199
+ */
200
+ beginClose?(): void;
192
201
  close(): Promise<void> | void;
193
202
  get pending(): number;
194
203
  get syncInFlight(): Map<string, Map<SyncableKey, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,7 @@ type OutgoingRatelessSyncProcess = {
109
109
  exhaustedAfterSend: boolean;
110
110
  } | undefined;
111
111
  startSimpleFallback: () => Promise<void>;
112
+ cancelSimpleFallback: (reason: unknown) => void;
112
113
  simpleFallbackStarted: boolean;
113
114
  free: (reason?: unknown) => void;
114
115
  processController: AbortController;
@@ -136,6 +137,7 @@ type IncomingRatelessSyncProcess = {
136
137
  symbols: CodedSymbolInput;
137
138
  }) => Promise<IncomingRatelessProcessResult>;
138
139
  requestAll: () => Promise<void>;
140
+ drain: () => Promise<void>;
139
141
  fallbackToSimple: (reason?: unknown) => Promise<void>;
140
142
  free: (reason?: unknown) => void;
141
143
  complete: () => void;
@@ -191,6 +193,7 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
191
193
  private getIncomingSyncProcessKey;
192
194
  private isIncomingSyncGenerationActive;
193
195
  private isIncomingSyncProcessActive;
196
+ private settleIncomingReceive;
194
197
  onMaybeMissingEntries(properties: {
195
198
  entries: Map<string, SyncEntryCoordinates<D>>;
196
199
  targets: string[];
@@ -201,7 +204,10 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
201
204
  private consumeAuthorizedRatelessResponse;
202
205
  private getOrCreateRatelessResponseSlotRow;
203
206
  private detachRatelessResponseSlotRow;
204
- onMessage(message: TransportMessage, context: RequestContext): Promise<boolean>;
207
+ onMessage(message: TransportMessage, context: RequestContext, options?: {
208
+ signal?: AbortSignal;
209
+ }): Promise<boolean>;
210
+ private onMessageForReceive;
205
211
  onReceivedEntries(properties: {
206
212
  entries: EntryWithRefs<any>[];
207
213
  from: PublicSignKey;
@@ -217,6 +223,7 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
217
223
  onEntryRemovedHashes(hashes: string[]): void;
218
224
  onPeerDisconnected(key: PublicSignKey | string): void | Promise<void>;
219
225
  open(): Promise<void> | void;
226
+ beginClose(): void;
220
227
  close(): Promise<void> | void;
221
228
  get syncInFlight(): Map<string, Map<SyncableKey, {
222
229
  timestamp: number;
@@ -1 +1 @@
1
- {"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ import { SilentDelivery } from "@peerbit/stream-interface";
42
42
  import {} from "../exchange-heads.js";
43
43
  import { TransportMessage } from "../message.js";
44
44
  import {} from "../ranges.js";
45
- import { DispatchLifecycleRegistry, isOwnershipGenerationActive, isTrackedSessionActive, } from "./dispatch-lifecycle.js";
45
+ import { DispatchLifecycleRegistry, SyncReceiveAbortError, isOwnershipGenerationActive, isSyncDispatchCancellation, isTrackedSessionActive, } from "./dispatch-lifecycle.js";
46
46
  import { emitSyncProfileDuration, emitSyncProfileEvent, syncProfileStart, } from "./profile.js";
47
47
  import { ResponseMaybeSync, ResponseMaybeSyncCapabilities, SYNC_MESSAGE_PRIORITY, SimpleSyncronizer, } from "./simple.js";
48
48
  import { SyncPeerSlotRegistry, } from "./sync-peer-state.js";
@@ -884,6 +884,9 @@ export class RatelessIBLTSynchronizer {
884
884
  });
885
885
  }
886
886
  startRepairSession(properties) {
887
+ if (this.ratelessClosed) {
888
+ return this.simple.startRepairSession(properties);
889
+ }
887
890
  const mode = properties.mode ?? "best-effort";
888
891
  const targets = [...new Set(properties.targets)];
889
892
  const timeoutMs = Math.max(1, Math.floor(properties.timeoutMs ?? DEFAULT_CONVERGENT_REPAIR_TIMEOUT_MS));
@@ -1203,6 +1206,30 @@ export class RatelessIBLTSynchronizer {
1203
1206
  !process.controller.signal.aborted &&
1204
1207
  this.ingoingSyncProcesses.get(process.key) === process);
1205
1208
  }
1209
+ async settleIncomingReceive(process, signal) {
1210
+ const errors = [];
1211
+ try {
1212
+ await process.drain();
1213
+ }
1214
+ catch (error) {
1215
+ errors.push(error);
1216
+ }
1217
+ if (signal.aborted) {
1218
+ try {
1219
+ process.free(signal.reason);
1220
+ }
1221
+ catch (error) {
1222
+ errors.push(error);
1223
+ }
1224
+ }
1225
+ if (errors.length === 1)
1226
+ throw errors[0];
1227
+ if (errors.length > 1) {
1228
+ throw new AggregateError(errors, "incoming receive drain and cleanup failed", {
1229
+ cause: errors[0],
1230
+ });
1231
+ }
1232
+ }
1206
1233
  async onMaybeMissingEntries(properties) {
1207
1234
  // Capture this rateless open generation synchronously, before any await.
1208
1235
  // In particular, signal-less internal repair work must not resume after
@@ -1551,6 +1578,7 @@ export class RatelessIBLTSynchronizer {
1551
1578
  let symbolsProduced = startSyncSymbols.length;
1552
1579
  let symbolBudgetExhausted = false;
1553
1580
  let simpleFallbackPromise;
1581
+ const simpleFallbackController = new AbortController();
1554
1582
  const symbolBudget = getOutgoingRatelessSymbolBudget(properties.coordinates.length, startSyncSymbols.length);
1555
1583
  let onTargetAbort;
1556
1584
  const clear = (reason = new Error("rateless outgoing process closed")) => {
@@ -1591,7 +1619,14 @@ export class RatelessIBLTSynchronizer {
1591
1619
  simpleFallbackPromise = Promise.resolve(this.simple.onMaybeMissingHashes({
1592
1620
  hashes: properties.outgoingHashes,
1593
1621
  targets: [target],
1594
- signal: lifecycle.callerSignal,
1622
+ // Encoder retirement must not cancel an admitted fallback.
1623
+ // A receive awaiting that exact memoized operation can do so.
1624
+ signal: lifecycle.callerSignal
1625
+ ? AbortSignal.any([
1626
+ lifecycle.callerSignal,
1627
+ simpleFallbackController.signal,
1628
+ ])
1629
+ : simpleFallbackController.signal,
1595
1630
  }));
1596
1631
  }
1597
1632
  return simpleFallbackPromise;
@@ -1664,6 +1699,7 @@ export class RatelessIBLTSynchronizer {
1664
1699
  return { symbols, exhaustedAfterSend };
1665
1700
  },
1666
1701
  startSimpleFallback,
1702
+ cancelSimpleFallback: (reason) => simpleFallbackController.abort(reason),
1667
1703
  simpleFallbackStarted: false,
1668
1704
  free: clear,
1669
1705
  outgoingHashes: properties.outgoingHashes,
@@ -1874,7 +1910,64 @@ export class RatelessIBLTSynchronizer {
1874
1910
  releaseLogical();
1875
1911
  }
1876
1912
  }
1877
- async onMessage(message, context) {
1913
+ async onMessage(message, context, options) {
1914
+ const signal = options?.signal;
1915
+ if (!signal) {
1916
+ return this.onMessageForReceive(message, context);
1917
+ }
1918
+ let cancel;
1919
+ let settle;
1920
+ const onAbort = () => cancel?.();
1921
+ signal.addEventListener("abort", onAbort, { once: true });
1922
+ const errors = [];
1923
+ let handled = false;
1924
+ try {
1925
+ handled = await this.onMessageForReceive(message, context, {
1926
+ signal,
1927
+ bind: (cancelWork, settleWork) => {
1928
+ cancel = cancelWork;
1929
+ settle = settleWork;
1930
+ if (signal.aborted) {
1931
+ onAbort();
1932
+ }
1933
+ },
1934
+ });
1935
+ }
1936
+ catch (error) {
1937
+ errors.push(error);
1938
+ }
1939
+ finally {
1940
+ // Keep cancellation connected while a bounded fallback's logical
1941
+ // completion still leaves its lower send physically draining.
1942
+ try {
1943
+ await settle?.();
1944
+ }
1945
+ catch (error) {
1946
+ if (!errors.includes(error)) {
1947
+ errors.push(error);
1948
+ }
1949
+ }
1950
+ finally {
1951
+ signal.removeEventListener("abort", onAbort);
1952
+ }
1953
+ }
1954
+ if (errors.length === 1)
1955
+ throw errors[0];
1956
+ if (errors.length > 1) {
1957
+ throw new AggregateError(errors, "sync receive and physical cleanup failed", {
1958
+ cause: errors[0],
1959
+ });
1960
+ }
1961
+ return handled;
1962
+ }
1963
+ async onMessageForReceive(message, context, options) {
1964
+ if (options?.signal.aborted) {
1965
+ return (message instanceof StartSync ||
1966
+ message instanceof MoreSymbols ||
1967
+ message instanceof RequestMoreSymbols ||
1968
+ message instanceof RequestAll ||
1969
+ (await this.simple.onMessage(message, context, options)));
1970
+ }
1878
1971
  const profile = this.properties.sync?.profile;
1879
1972
  if (message instanceof StartSync) {
1880
1973
  const from = context.from;
@@ -1984,6 +2077,7 @@ export class RatelessIBLTSynchronizer {
1984
2077
  symbolBudget: getIncomingRatelessSymbolBudget(message.symbols.length),
1985
2078
  process: async () => undefined,
1986
2079
  requestAll: async () => { },
2080
+ drain: async () => { },
1987
2081
  fallbackToSimple: async () => { },
1988
2082
  free,
1989
2083
  complete,
@@ -1991,6 +2085,7 @@ export class RatelessIBLTSynchronizer {
1991
2085
  this.ingoingSyncProcesses.set(key, obj);
1992
2086
  onOwnershipAbort = () => free(ownershipLifecycleController.signal.reason);
1993
2087
  ownershipLifecycleController.signal.addEventListener("abort", onOwnershipAbort, { once: true });
2088
+ options?.bind(() => controller.abort(options.signal.reason), () => this.settleIncomingReceive(obj, options.signal));
1994
2089
  obj.deadlineTimeout = setTimeout(() => {
1995
2090
  void obj.fallbackToSimple(new Error("incoming rateless process deadline exceeded"));
1996
2091
  }, RATELESS_PROCESS_ABSOLUTE_TIMEOUT_MS);
@@ -2000,6 +2095,9 @@ export class RatelessIBLTSynchronizer {
2000
2095
  return true;
2001
2096
  }
2002
2097
  let requestAllPromise;
2098
+ obj.drain = async () => {
2099
+ await requestAllPromise;
2100
+ };
2003
2101
  obj.requestAll = () => {
2004
2102
  if (requestAllPromise) {
2005
2103
  return requestAllPromise;
@@ -2030,6 +2128,13 @@ export class RatelessIBLTSynchronizer {
2030
2128
  });
2031
2129
  }
2032
2130
  }
2131
+ catch (error) {
2132
+ // Classify before complete() aborts the process as normal cleanup;
2133
+ // that cleanup must not disguise a genuine lower-send failure.
2134
+ if (!isSyncDispatchCancellation(error, controller.signal)) {
2135
+ throw error;
2136
+ }
2137
+ }
2033
2138
  finally {
2034
2139
  fallbackSendPending = false;
2035
2140
  if (this.isIncomingSyncProcessActive(obj)) {
@@ -2098,7 +2203,8 @@ export class RatelessIBLTSynchronizer {
2098
2203
  catch (error) {
2099
2204
  const processAborted = controller.signal.aborted;
2100
2205
  free(error);
2101
- if (processAborted ||
2206
+ if ((processAborted &&
2207
+ isSyncDispatchCancellation(error, controller.signal)) ||
2102
2208
  !this.isIncomingSyncGenerationActive(ownershipLifecycleController)) {
2103
2209
  return true;
2104
2210
  }
@@ -2338,7 +2444,7 @@ export class RatelessIBLTSynchronizer {
2338
2444
  });
2339
2445
  }
2340
2446
  catch (error) {
2341
- if (!this.isIncomingSyncProcessActive(obj)) {
2447
+ if (isSyncDispatchCancellation(error, controller.signal, !this.isIncomingSyncProcessActive(obj))) {
2342
2448
  return true;
2343
2449
  }
2344
2450
  free(error);
@@ -2371,6 +2477,7 @@ export class RatelessIBLTSynchronizer {
2371
2477
  !this.isIncomingSyncProcessActive(obj)) {
2372
2478
  return true;
2373
2479
  }
2480
+ options?.bind(() => obj.controller.abort(options.signal.reason), () => this.settleIncomingReceive(obj, options.signal));
2374
2481
  let outProcess;
2375
2482
  try {
2376
2483
  outProcess = await obj.process(message);
@@ -2414,7 +2521,11 @@ export class RatelessIBLTSynchronizer {
2414
2521
  signal: obj.controller.signal,
2415
2522
  });
2416
2523
  }
2417
- catch {
2524
+ catch (error) {
2525
+ if (obj.controller.signal.reason instanceof SyncReceiveAbortError &&
2526
+ !isSyncDispatchCancellation(error, obj.controller.signal)) {
2527
+ throw error;
2528
+ }
2418
2529
  if (profile) {
2419
2530
  emitSyncProfileDuration(profile, sendStartedAt, {
2420
2531
  name: "rateless.sendRequestMoreSymbols",
@@ -2448,6 +2559,11 @@ export class RatelessIBLTSynchronizer {
2448
2559
  if (context.from?.hashcode() !== obj.target) {
2449
2560
  return true;
2450
2561
  }
2562
+ options?.bind(() => obj.processController.abort(options.signal.reason), async () => {
2563
+ if (options.signal.aborted) {
2564
+ obj.free(options.signal.reason);
2565
+ }
2566
+ });
2451
2567
  const signal = obj.signal;
2452
2568
  if (signal.aborted) {
2453
2569
  return true;
@@ -2473,7 +2589,7 @@ export class RatelessIBLTSynchronizer {
2473
2589
  });
2474
2590
  }
2475
2591
  catch (error) {
2476
- if (signal?.aborted) {
2592
+ if (isSyncDispatchCancellation(error, signal)) {
2477
2593
  return true;
2478
2594
  }
2479
2595
  throw error;
@@ -2509,7 +2625,11 @@ export class RatelessIBLTSynchronizer {
2509
2625
  }
2510
2626
  // RequestAll ends only this target's rateless attempt. Other target
2511
2627
  // encoders and response authorizations remain independently owned.
2512
- const fallback = p.startSimpleFallback();
2628
+ let fallback;
2629
+ options?.bind(() => p.cancelSimpleFallback(options.signal.reason), async () => {
2630
+ await fallback;
2631
+ });
2632
+ fallback = p.startSimpleFallback();
2513
2633
  p.free();
2514
2634
  await fallback;
2515
2635
  return true;
@@ -2571,13 +2691,17 @@ export class RatelessIBLTSynchronizer {
2571
2691
  entries: 0,
2572
2692
  };
2573
2693
  try {
2694
+ const signal = options?.signal
2695
+ ? AbortSignal.any([response.signal, options.signal])
2696
+ : response.signal;
2574
2697
  responseShipment =
2575
2698
  await this.simple.shipAuthorizedMaybeSyncResponse({
2576
2699
  hashes: response.authorized,
2577
2700
  from,
2578
2701
  response: message,
2579
- signal: response.signal,
2702
+ signal,
2580
2703
  });
2704
+ rollbackRatelessAuthorization = signal.aborted;
2581
2705
  }
2582
2706
  catch (error) {
2583
2707
  firstError = error;
@@ -2607,6 +2731,7 @@ export class RatelessIBLTSynchronizer {
2607
2731
  leases: simpleLeases,
2608
2732
  from,
2609
2733
  response: simpleMessage,
2734
+ signal: options?.signal,
2610
2735
  });
2611
2736
  }
2612
2737
  catch (error) {
@@ -2629,7 +2754,7 @@ export class RatelessIBLTSynchronizer {
2629
2754
  }
2630
2755
  }
2631
2756
  }
2632
- return this.simple.onMessage(message, context);
2757
+ return this.simple.onMessage(message, context, options);
2633
2758
  }
2634
2759
  onReceivedEntries(properties) {
2635
2760
  return this.simple.onReceivedEntries(properties);
@@ -2687,13 +2812,15 @@ export class RatelessIBLTSynchronizer {
2687
2812
  this.ratelessClosed = false;
2688
2813
  return this.simple.open();
2689
2814
  }
2690
- close() {
2815
+ beginClose() {
2691
2816
  this.ratelessClosed = true;
2692
- // Abort ownership first. Process abort listeners then cancel any in-flight
2693
- // StartSync/MoreSymbols send before they detach or free native state.
2694
2817
  const reason = new Error("rateless synchronizer closed");
2695
2818
  this.cancelRatelessRepairSessions(reason);
2696
2819
  this.ratelessDispatchLifecycleController.abort(reason);
2820
+ this.simple.beginClose();
2821
+ }
2822
+ close() {
2823
+ this.beginClose();
2697
2824
  for (const obj of [...this.ingoingSyncProcesses.values()]) {
2698
2825
  obj.free();
2699
2826
  }