@peerbit/shared-log 13.1.18 → 13.2.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 (59) hide show
  1. package/dist/benchmark/index.js +91 -29
  2. package/dist/benchmark/index.js.map +1 -1
  3. package/dist/benchmark/native-graph.js +120 -10
  4. package/dist/benchmark/native-graph.js.map +1 -1
  5. package/dist/benchmark/network-preset-e2e.d.ts +2 -0
  6. package/dist/benchmark/network-preset-e2e.d.ts.map +1 -0
  7. package/dist/benchmark/network-preset-e2e.js +497 -0
  8. package/dist/benchmark/network-preset-e2e.js.map +1 -0
  9. package/dist/benchmark/receive-prune.d.ts +2 -0
  10. package/dist/benchmark/receive-prune.d.ts.map +1 -0
  11. package/dist/benchmark/receive-prune.js +816 -0
  12. package/dist/benchmark/receive-prune.js.map +1 -0
  13. package/dist/benchmark/sync-catchup.d.ts +1 -2
  14. package/dist/benchmark/sync-catchup.d.ts.map +1 -1
  15. package/dist/benchmark/sync-catchup.js +175 -7
  16. package/dist/benchmark/sync-catchup.js.map +1 -1
  17. package/dist/src/checked-prune.d.ts +3 -0
  18. package/dist/src/checked-prune.d.ts.map +1 -1
  19. package/dist/src/checked-prune.js +24 -0
  20. package/dist/src/checked-prune.js.map +1 -1
  21. package/dist/src/exchange-heads.d.ts +238 -1
  22. package/dist/src/exchange-heads.d.ts.map +1 -1
  23. package/dist/src/exchange-heads.js +1512 -36
  24. package/dist/src/exchange-heads.js.map +1 -1
  25. package/dist/src/index.d.ts +276 -5
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +7358 -666
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/pid.d.ts.map +1 -1
  30. package/dist/src/pid.js +25 -9
  31. package/dist/src/pid.js.map +1 -1
  32. package/dist/src/ranges.d.ts +11 -2
  33. package/dist/src/ranges.d.ts.map +1 -1
  34. package/dist/src/ranges.js +74 -30
  35. package/dist/src/ranges.js.map +1 -1
  36. package/dist/src/sync/index.d.ts +77 -2
  37. package/dist/src/sync/index.d.ts.map +1 -1
  38. package/dist/src/sync/rateless-iblt.d.ts +11 -5
  39. package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
  40. package/dist/src/sync/rateless-iblt.js +123 -60
  41. package/dist/src/sync/rateless-iblt.js.map +1 -1
  42. package/dist/src/sync/simple.d.ts +56 -4
  43. package/dist/src/sync/simple.d.ts.map +1 -1
  44. package/dist/src/sync/simple.js +495 -63
  45. package/dist/src/sync/simple.js.map +1 -1
  46. package/dist/src/utils.d.ts +2 -1
  47. package/dist/src/utils.d.ts.map +1 -1
  48. package/dist/src/utils.js +49 -2
  49. package/dist/src/utils.js.map +1 -1
  50. package/package.json +27 -17
  51. package/src/checked-prune.ts +27 -0
  52. package/src/exchange-heads.ts +2018 -41
  53. package/src/index.ts +13114 -3167
  54. package/src/pid.ts +24 -13
  55. package/src/ranges.ts +90 -40
  56. package/src/sync/index.ts +115 -2
  57. package/src/sync/rateless-iblt.ts +154 -75
  58. package/src/sync/simple.ts +590 -95
  59. package/src/utils.ts +73 -3
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-heads.js","sourceRoot":"","sources":["../../src/exchange-heads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchange-heads.js","sourceRoot":"","sources":["../../src/exchange-heads.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { PublicSignKey } from "@peerbit/crypto";
2
2
  import { type Index } from "@peerbit/indexer-interface";
3
- import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties, Meta, ShallowEntry, type ShallowOrFullEntry } from "@peerbit/log";
3
+ import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties, Meta, ShallowEntry, ShallowMeta, type ShallowOrFullEntry } from "@peerbit/log";
4
4
  import { Program, type ProgramEvents } from "@peerbit/program";
5
5
  import { type FanoutTreeChannelOptions, type FanoutTreeJoinOptions } from "@peerbit/pubsub";
6
6
  import { SubscriptionEvent, UnsubcriptionEvent } from "@peerbit/pubsub-interface";
@@ -10,6 +10,7 @@ import { type CheckedPruneEntry, type CheckedPruneLeaderMap } from "./checked-pr
10
10
  import { type CPUUsage, CPUUsageIntervalLag } from "./cpu.js";
11
11
  import { type DebouncedAccumulatorMap } from "./debounce.js";
12
12
  import { NoPeersError } from "./errors.js";
13
+ import { ExchangeHeadsMessage, RawExchangeHeadsMessage } from "./exchange-heads.js";
13
14
  import { MAX_U32, MAX_U64, type NumberFromType, type Numbers } from "./integers.js";
14
15
  import { TransportMessage } from "./message.js";
15
16
  import { PIDReplicationController } from "./pid.js";
@@ -25,7 +26,50 @@ export * from "./replication.js";
25
26
  export type { LogLike, LogResultsIterator, SharedLogLike, SharedLogReplicationIndexLike, } from "./like.js";
26
27
  export { type ReplicationRangeIndexable, ReplicationRangeIndexableU32, ReplicationRangeIndexableU64, type EntryReplicated, EntryReplicatedU32, EntryReplicatedU64, type CoverRange, NoPeersError, };
27
28
  export { MAX_U32, MAX_U64, type NumberFromType };
29
+ export type { SharedLogNativeWireSync, SyncOptions, SyncProfileEvent, SyncProfileFn, } from "./sync/index.js";
30
+ export { ExchangeHeadsMessage, RawExchangeHeadsMessage };
28
31
  export declare const logger: import("@libp2p/interface").Logger;
32
+ type NativeBackboneCoordinatePersistenceFiles = {
33
+ snapshot?: string;
34
+ journal?: string;
35
+ documentSnapshot?: string;
36
+ documentJournal?: string;
37
+ documentSignerSnapshot?: string;
38
+ documentSignerJournal?: string;
39
+ };
40
+ type NativeBackboneCoordinatePersistenceOptions = NativeBackboneCoordinatePersistenceFiles & {
41
+ flushOnAppend?: boolean;
42
+ flushMaxPendingBytes?: number;
43
+ flushIntervalMs?: number;
44
+ compactMaxJournalBytes?: number;
45
+ compactMaxJournalRecords?: number;
46
+ };
47
+ type NativeBackboneCoordinatePersistenceStore = {
48
+ read(name: string): Promise<Uint8Array | undefined>;
49
+ write(name: string, bytes: Uint8Array): Promise<void>;
50
+ append(name: string, bytes: Uint8Array): Promise<void>;
51
+ remove?(name: string): Promise<void>;
52
+ flush?(): Promise<void>;
53
+ close?(): Promise<void>;
54
+ };
55
+ type NativeBackboneCoordinatePersistenceAdapter = {
56
+ flushOnAppend?: boolean;
57
+ flushMaxPendingBytes?: number;
58
+ flushIntervalMs?: number;
59
+ compactMaxJournalBytes?: number;
60
+ compactMaxJournalRecords?: number;
61
+ hydrate(backbone: unknown): Promise<number>;
62
+ flushJournal(backbone: unknown): Promise<number>;
63
+ flushJournalOnAppend?(backbone: unknown): number | Promise<number>;
64
+ compact?(backbone: unknown): Promise<void>;
65
+ close?(): Promise<void>;
66
+ };
67
+ type NativeBackboneCoordinatePersistenceConfig = NativeBackboneCoordinatePersistenceAdapter | (NativeBackboneCoordinatePersistenceOptions & {
68
+ store: NativeBackboneCoordinatePersistenceStore;
69
+ buffered?: boolean | {
70
+ maxBufferedBytes?: number;
71
+ };
72
+ });
29
73
  export type ReplicationLimitsOptions = Partial<ReplicationLimits> | {
30
74
  min?: number;
31
75
  max?: number;
@@ -68,7 +112,10 @@ interface IndexableDomain<R extends "u32" | "u64"> {
68
112
  constructorEntry: new (properties: {
69
113
  coordinates: NumberFromType<R>[];
70
114
  hash: string;
71
- meta: Meta;
115
+ meta?: Meta | ShallowMeta;
116
+ metaBytes?: Uint8Array;
117
+ gid?: string;
118
+ wallTime?: bigint;
72
119
  assignedToRangeBoundary: boolean;
73
120
  hashNumber: NumberFromType<R>;
74
121
  }) => EntryReplicated<R>;
@@ -86,6 +133,16 @@ interface IndexableDomain<R extends "u32" | "u64"> {
86
133
  }
87
134
  export type SharedLogOptions<T, D extends ReplicationDomain<any, T, R>, R extends "u32" | "u64" = D extends ReplicationDomain<any, T, infer I> ? I : "u32"> = {
88
135
  appendDurability?: LogProperties<T>["appendDurability"];
136
+ nativeGraph?: LogProperties<T>["nativeGraph"];
137
+ nativeBackbone?: false | {
138
+ optional?: boolean;
139
+ heads?: boolean;
140
+ documentIndex?: boolean;
141
+ coordinatePersistence?: NativeBackboneCoordinatePersistenceConfig;
142
+ };
143
+ nativeRangePlanner?: false | {
144
+ optional?: boolean;
145
+ };
89
146
  replicate?: ReplicationOptions<R>;
90
147
  replicas?: ReplicationLimitsOptions;
91
148
  respondToIHaveTimeout?: number;
@@ -107,6 +164,18 @@ export type SharedLogOptions<T, D extends ReplicationDomain<any, T, R>, R extend
107
164
  };
108
165
  fanout?: SharedLogFanoutOptions;
109
166
  };
167
+ /**
168
+ * Native defaults a client can advertise for shared-log programs opened on
169
+ * it (the peerbit client's native network preset sets these; see
170
+ * `peerbit/rust`). They fill in open options the caller left undefined;
171
+ * explicit per-open options (including `false`) always win. Without the
172
+ * property on the client, behavior is unchanged.
173
+ */
174
+ export type SharedLogNativeDefaults = {
175
+ nativeBackbone?: SharedLogOptions<any, any, any>["nativeBackbone"];
176
+ nativeGraph?: LogProperties<any>["nativeGraph"];
177
+ sync?: Pick<SyncOptions<any>, "rawExchangeHeads" | "nativeWireSync">;
178
+ };
110
179
  export declare const DEFAULT_MIN_REPLICAS = 2;
111
180
  export declare const WAIT_FOR_REPLICATOR_TIMEOUT = 20000;
112
181
  export declare const WAIT_FOR_ROLE_MATURITY = 5000;
@@ -163,6 +232,14 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
163
232
  private _isAdaptiveReplicating;
164
233
  private _replicationRangeIndex;
165
234
  private _entryCoordinatesIndex;
235
+ private _nativeRangePlanner?;
236
+ private _nativeSharedLogState?;
237
+ private _nativeBackbone?;
238
+ private _wireSyncSession?;
239
+ private _nativeBackboneCoordinatePersistence?;
240
+ private _nativeBackboneCoordinateJournalLastFlushMs;
241
+ private _defaultAppendReplicaMetadataCache?;
242
+ private _residentEntryCoordinatesByHash?;
166
243
  private coordinateToHash;
167
244
  private recentlyRebalanced;
168
245
  uniqueReplicators: Set<string>;
@@ -180,6 +257,8 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
180
257
  private _closeController;
181
258
  private _respondToIHaveTimeout;
182
259
  private _checkedPrune;
260
+ private _pendingIHaveExpiryTimer?;
261
+ private _pendingIHaveExpiryDeadline;
183
262
  private get _pendingDeletes();
184
263
  private _pendingIHave;
185
264
  pendingMaturity: Map<string, Map<string, {
@@ -218,8 +297,10 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
218
297
  private _repairSweepPendingPeersByMode;
219
298
  private _repairFrontierByMode;
220
299
  private _repairFrontierActiveTargetsByMode;
300
+ private _repairFrontierBypassKnownPeersByMode;
221
301
  private _repairSweepOptimisticGidPeersPending;
222
302
  private _entryKnownPeers;
303
+ private _entryKnownPeerObservedAt;
223
304
  private _joinAuthoritativeRepairTimersByDelay;
224
305
  private _joinAuthoritativeRepairPeersByDelay;
225
306
  private _assumeSyncedRepairSuppressedUntil;
@@ -227,6 +308,10 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
227
308
  private _appendBackfillPendingByTarget;
228
309
  private _repairMetrics;
229
310
  private _topicSubscribersCache;
311
+ private _leaderSelectionContextCache?;
312
+ private _peerSyncCapabilities;
313
+ private _liveRawGossipBatches;
314
+ private _liveRawGossipFlushScheduled;
230
315
  private distributeQueue?;
231
316
  syncronizer: Syncronizer<R>;
232
317
  replicas: ReplicationLimits;
@@ -263,6 +348,38 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
263
348
  private _parseDeliveryOptions;
264
349
  private _getSortedRouteHints;
265
350
  private _sendAckWithUnifiedHints;
351
+ /** Live append gossip that stayed on the plain TS path (countable in tests). */
352
+ private emitPlainLiveSendProfile;
353
+ private peerSupportsRawExchangeHeads;
354
+ /**
355
+ * Live append gossip may use the raw exchange-heads path only when we
356
+ * opted into raw sync and every remote recipient advertised raw capability
357
+ * (via {@link SyncCapabilitiesMessage}). Peers that never advertised —
358
+ * older versions or raw sync disabled — keep receiving the unchanged plain
359
+ * `ExchangeHeadsMessage` path.
360
+ */
361
+ private canUseLiveRawGossip;
362
+ private queueLiveRawGossip;
363
+ private scheduleLiveRawGossipFlush;
364
+ private flushLiveRawGossip;
365
+ private sendLiveRawGossipBatch;
366
+ /**
367
+ * Fused raw exchange-heads send: the full sync payload — PubSubData →
368
+ * RequestV0 → RawExchangeHeadsMessage including the entry block bytes — is
369
+ * serialized inside the native-backbone wasm module straight from the
370
+ * native block store and published pre-encoded, so entry block bytes never
371
+ * materialize as JS values on the send path. Returns the number of
372
+ * messages sent, or `undefined` when this path is unavailable (no native
373
+ * encoder, blocks not natively stored, or no pre-encoded publish support)
374
+ * so callers fall back to the TS message path.
375
+ */
376
+ private sendFusedRawExchangeHeadsPlan;
377
+ /**
378
+ * `RawExchangeHeadsSender` seam handed to the synchronizer for bulk sync
379
+ * responses: resolves the head/reference plan like the TS raw path and
380
+ * ships it fused when possible.
381
+ */
382
+ private trySendFusedRawExchangeHeads;
266
383
  private _appendDeliverToReplicators;
267
384
  private _mergeLeadersFromGidReferences;
268
385
  private _appendDeliverToAllFanout;
@@ -270,13 +387,23 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
270
387
  private _getTopicSubscribers;
271
388
  private invalidateTopicSubscribersCache;
272
389
  private invalidateSharedLogTopicSubscribersCache;
390
+ private invalidateLeaderSelectionContextCache;
391
+ private canCacheLeaderSelectionContext;
392
+ private cloneLeaderSelectionContext;
393
+ private getCachedLeaderSelectionContext;
394
+ private setCachedLeaderSelectionContext;
273
395
  private getRole;
274
396
  isReplicating(): Promise<boolean>;
397
+ private knownSelfReplicating;
275
398
  private setupRebalanceDebounceFunction;
276
399
  private markLocalAppendActivity;
277
400
  private shouldDelayAdaptiveRebalance;
278
401
  private shouldDeferHeadCoordinatePersistence;
279
402
  private deleteCoordinatesForHashes;
403
+ private forgetCoordinateStateForHashes;
404
+ private forgetCoordinateStateForHashValues;
405
+ private forgetResidentCoordinateStateForHashes;
406
+ private forgetResidentCoordinateStateForHashValues;
280
407
  private ensureCurrentHeadCoordinatesIndexed;
281
408
  private _replicate;
282
409
  setupDebouncedRebalancing(options?: DynamicReplicationOptions<R>): void;
@@ -302,16 +429,21 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
302
429
  announce?: (msg: AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage) => void;
303
430
  }): Promise<void>;
304
431
  private removePeerFromGidPeerHistory;
432
+ private removePeerFromGidPeerHistoryBatch;
433
+ private deleteGidPeerHistory;
305
434
  addPeersToGidPeerHistory(gid: string, publicKeys: Iterable<string>, reset?: boolean): Set<string>;
306
435
  private markEntriesKnownByPeer;
307
436
  private removeEntriesKnownByPeer;
308
437
  private removePeerFromEntryKnownPeers;
309
438
  private isEntryKnownByPeer;
439
+ private isEntryRecentlyKnownByPeer;
310
440
  private markRepairSweepOptimisticPeer;
311
441
  private hasPendingRepairSweepOptimisticPeer;
312
442
  private createEntryReplicatedForRepair;
313
443
  private isAssumeSyncedRepairSuppressed;
314
444
  private isFrontierTrackedRepairMode;
445
+ private usesBroadRepairCandidatePlanning;
446
+ private shouldBypassKnownPeerHints;
315
447
  private sleepTracked;
316
448
  private queueRepairFrontierEntries;
317
449
  private clearRepairFrontierHashes;
@@ -335,6 +467,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
335
467
  private pruneJoinedEntriesNoLongerLed;
336
468
  private pruneIndexedEntriesNoLongerLed;
337
469
  private pruneCurrentHeadsNoLongerLed;
470
+ private pruneHeadEntriesFromNativeHeadFacts;
338
471
  private checkedPruneLeadersToMap;
339
472
  private clearCheckedPruneRetry;
340
473
  private scheduleCheckedPruneRetry;
@@ -343,7 +476,60 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
343
476
  entry: Entry<T>;
344
477
  removed: ShallowOrFullEntry<T>[];
345
478
  }>;
479
+ private appendLocallyValidated;
480
+ private appendLocallyPrepared;
481
+ private processNativePreparedTargetNoneAppend;
482
+ private appendLocallyPreparedPayload;
483
+ private appendLocallyPreparedPayloadCommitOnly;
484
+ private appendStrictNativeDocumentPayloadCommitOnly;
485
+ private appendLocallyPreparedPayloadCommitOnlyFallback;
486
+ private appendLocallyPreparedPayloadNativeBackboneCommitOnly;
487
+ private appendLocallyPreparedPayloadNativeBackboneStorageTransaction;
488
+ private finishPreparedPayloadCommitOnlyAppend;
489
+ private finishPreparedPayloadNativeAppendTransaction;
490
+ private getNativeTransactionCoordinateIndex;
491
+ private finishPreparedPayloadNativeAppendTransactionAsync;
492
+ private processNativePreparedTargetNoneAppendTransaction;
493
+ private finishPreparedPayloadCommitOnlyAppendAsync;
494
+ private canCoalescePreparedAppendCoordinateDeletes;
495
+ private appendLocallyPreparedPayloadsManyNativeBackboneDocumentIndexBatch;
496
+ private appendLocallyPreparedManyIndependent;
497
+ private appendLocallyPreparedPayloadsManyIndependent;
498
+ appendMany(data: T[], options?: SharedAppendOptions<T> | undefined): Promise<{
499
+ entries: Entry<T>[];
500
+ removed: ShallowOrFullEntry<T>[];
501
+ }>;
502
+ private canCoalesceLocalAppendMany;
503
+ private processLocalAppendManyCoalesced;
504
+ private processLocalAppendManyNativePlanned;
505
+ private createLogAppendOptions;
506
+ private createAppendReplicaMetadata;
507
+ private canPlanNativeAppendFacts;
508
+ private getAppendFactsHashNumber;
509
+ private createCoordinateFieldsFromNativePlanFacts;
510
+ private createCoordinatePersistenceEntryFromNativePlanFacts;
511
+ private planNativeAppendFacts;
512
+ private planNativeLocalAppendFacts;
513
+ private planNativeAppendEntry;
514
+ private planNativeLocalAppendEntry;
515
+ private planNativeLocalAppendEntries;
516
+ private planNativeAppendEntries;
517
+ private processLocalAppend;
518
+ private createPreparedLocalAppendCommit;
519
+ private createPreparedLocalAppendCommitFromFacts;
520
+ private createPreparedLocalAppendCommits;
521
+ private createPreparedLocalAppendCommitsFromFacts;
346
522
  open(options?: Args<T, D, R>): Promise<void>;
523
+ private toNativeReplicationRange;
524
+ private putNativeReplicationRange;
525
+ private deleteNativeReplicationRange;
526
+ private hydrateNativeRangePlanner;
527
+ private hydrateNativeSharedLogState;
528
+ private hydrateNativeBackboneSharedLog;
529
+ private hydrateNativeCoordinateStateFromBackbone;
530
+ private nativeBackboneCoordinateFieldsToSharedLogFields;
531
+ private openNativeRangePlanner;
532
+ private openNativeBackbone;
347
533
  private updateTimestampOfOwnedReplicationRanges;
348
534
  afterOpen(): Promise<void>;
349
535
  reset(): Promise<void>;
@@ -361,9 +547,26 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
361
547
  private probeReplicatorLiveness;
362
548
  private confirmReplicatorSubscriberPresence;
363
549
  getMemoryUsage(): Promise<number>;
550
+ private clampReplicas;
551
+ private getMaxReplicasFromHeads;
552
+ private getMaxReplicasFromHeadsBatch;
553
+ private hasHeadForGid;
554
+ private hasAnyHeadForGids;
555
+ private hasAnyHeadForGidSets;
364
556
  get topic(): string;
365
557
  onChange(change: Change<T>): Promise<void>;
558
+ private applyChange;
559
+ private applyChangeWithDeferredCoordinateDeletes;
560
+ private materializePreparedAppendResultEntry;
561
+ private applyPreparedAppendFactsWithDeferredCoordinateDeletes;
562
+ private applyRemovedChange;
366
563
  canAppend(entry: Entry<T>): Promise<boolean>;
564
+ private prepareNativeEd25519VerificationBatch;
565
+ private canAppendBatch;
566
+ private validatePreparedRawReceiveMetadataWithNativeBackbone;
567
+ private validatePreparedRawReceiveHeadsMetadataWithNativeBackbone;
568
+ private canAppendPreparedRawReceiveBatchWithNativeBackbone;
569
+ private canSkipLowerLogCanAppendForNetworkJoin;
367
570
  getCover(properties: {
368
571
  args?: ExtractDomainArgs<D>;
369
572
  } | {
@@ -380,6 +583,14 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
380
583
  close(from?: Program): Promise<boolean>;
381
584
  drop(from?: Program): Promise<boolean>;
382
585
  recover(): Promise<void>;
586
+ /**
587
+ * Receive-fusion resolver passed to the RPC controller: when the native
588
+ * wire decoder stashed this message's raw exchange-head payload (keyed by
589
+ * the DataMessage id), build the message from stash metadata instead of
590
+ * borsh-decoding the entries in JS. The block bytes stay in wasm memory
591
+ * for the stashed prepare pipeline.
592
+ */
593
+ private resolveStashedRawExchangeHeadsMessage;
383
594
  onMessage(msg: TransportMessage, context: RequestContext): Promise<void>;
384
595
  calculateTotalParticipation(options?: {
385
596
  sum?: boolean;
@@ -404,9 +615,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
404
615
  }): Promise<number>;
405
616
  get replicationIndex(): Index<ReplicationRangeIndexable<R>>;
406
617
  get entryCoordinatesIndex(): Index<EntryReplicated<R>>;
407
- /**
408
- * TODO improve efficiency
409
- */
618
+ /** Return known replicator hashes from the replication index. */
410
619
  getReplicators(): Promise<Set<string>>;
411
620
  join(entries: (string | Entry<T> | ShallowEntry)[], options?: {
412
621
  verifySignatures?: boolean;
@@ -430,9 +639,43 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
430
639
  waitForNewPeers?: boolean;
431
640
  }): Promise<void>;
432
641
  private _waitForReplicators;
642
+ private _waitForEntryReplicators;
643
+ private _waitForGidReplicators;
644
+ private waitForLeaderSelection;
433
645
  createCoordinates(entry: ShallowOrFullEntry<any> | EntryReplicated<R> | NumberFromType<R>, minReplicas: number): Promise<NumberFromType<R>[]>;
434
646
  private getCoordinates;
647
+ private getNativeLogEntryMetadataBatch;
648
+ private planCurrentNativeRequestPruneLeaderHints;
649
+ private planCurrentNativeBackboneRequestPruneLeaderHints;
650
+ private createReusableReceiveCoordinatePlans;
651
+ private createBackboneOnlyReceiveCoordinateBatch;
652
+ private nativeBackboneReceiveCoordinateRowsToColumns;
653
+ private finishBackboneOnlyReceiveCoordinateBatch;
654
+ private rollbackBackboneOnlyReceiveCoordinateBatch;
655
+ private persistBackboneOnlyReceiveCoordinateBatch;
656
+ private emitNativeBackboneRawCommitProfile;
657
+ private createNativeBackbonePreparedJoinCommit;
658
+ private createCoordinatePersistenceEntryFromLeaderPlan;
659
+ private createCoordinatePersistenceEntry;
660
+ private createCoordinatePersistenceEntryFromNativePlan;
661
+ private createCoordinateEntryFromNativeFields;
662
+ private materializePreparedCoordinateEntry;
663
+ private materializeResidentCoordinateEntry;
664
+ private materializeRepairDispatchEntries;
665
+ private snapshotResidentCoordinateEntries;
666
+ private rollbackNativeBackboneCoordinateAppend;
667
+ private persistPreparedCoordinate;
668
+ private persistPreparedCoordinateNativeTransaction;
669
+ private persistBackboneCoordinateFieldsNativeTransaction;
670
+ private flushNativeBackboneCoordinateJournal;
671
+ private flushNativeBackboneCoordinateJournalOnAppend;
672
+ private shouldFlushNativeBackboneCoordinateJournalOnAppend;
673
+ private closeNativeBackboneCoordinatePersistence;
674
+ private canUseBackboneOnlyCoordinatePersistence;
675
+ private canUseNativeBackboneResidentCoordinateState;
676
+ private canUseRuntimeOnlyNativeBackboneCoordinates;
435
677
  private persistCoordinate;
678
+ private persistCoordinatesBatch;
436
679
  private deleteCoordinates;
437
680
  getDefaultMinRoleAge(): Promise<number>;
438
681
  findLeaders(cursors: NumberFromType<R>[], entry: Entry<T> | EntryReplicated<R> | ShallowEntry, options?: {
@@ -445,6 +688,18 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
445
688
  }): Promise<Map<string, {
446
689
  intersecting: boolean;
447
690
  }>>;
691
+ private canPlanNativeEntryLeaderBatch;
692
+ private canPlanNativeHashGid;
693
+ private getEntryGid;
694
+ private getEntryNext;
695
+ private getEntryHashNumber;
696
+ private applyLeaderSelection;
697
+ private planEntryLeaders;
698
+ private planEntryLeaderBatch;
699
+ private planNativeBackboneReceiveGroupLeaders;
700
+ private planNativePreparedRawReceiveSelection;
701
+ private tryFastDropPreparedRawReceive;
702
+ private selectNativePreparedRawReceiveHashes;
448
703
  isLeader(properties: {
449
704
  entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
450
705
  replicas: number;
@@ -456,9 +711,18 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
456
711
  prev?: EntryReplicated<R>;
457
712
  } | false;
458
713
  }): Promise<boolean>;
714
+ private createLeaderSelectionContext;
715
+ private createNativeLeaderOptions;
459
716
  private _findLeaders;
460
717
  private includeIndexedLeaderCandidatesWhenUnderfilled;
461
718
  private findFullReplicaLeaders;
719
+ private findEntryReplicatedLeaderBatch;
720
+ private hasCustomFindLeaders;
721
+ private planResidentRepairDispatchBatch;
722
+ private planRepairDispatchBatch;
723
+ private _findLeadersFromHashGid;
724
+ private _findLeaderPlanFromHashGid;
725
+ private _findEntryAssignmentPlanFromHashGid;
462
726
  findLeadersFromEntry(entry: ShallowOrFullEntry<any> | EntryReplicated<R>, replicas: number, options?: {
463
727
  roleAge?: number;
464
728
  }): Promise<Map<string, {
@@ -474,6 +738,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
474
738
  handleSubscriptionChange(publicKey: PublicSignKey, topics: string[], subscribed: boolean): Promise<void>;
475
739
  private getClampedReplicas;
476
740
  private removePruneRequestSent;
741
+ private removePruneRequestsSent;
477
742
  prune(entries: Map<string, {
478
743
  entry: CheckedPruneEntry<T, R>;
479
744
  leaders: CheckedPruneLeaderMap | Set<string>;
@@ -502,6 +767,12 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
502
767
  private getDynamicRangeOffset;
503
768
  getDynamicRange(): Promise<ReplicationRangeIndexable<R> | undefined>;
504
769
  private onEntryAdded;
770
+ private onEntryAddedHash;
771
+ private resetPendingIHaveTimeout;
772
+ private clearPendingIHaveTimeout;
773
+ private schedulePendingIHaveExpiry;
774
+ private expirePendingIHaves;
505
775
  onEntryRemoved(hash: string): void;
776
+ private onEntryRemovedHashes;
506
777
  }
507
778
  //# sourceMappingURL=index.d.ts.map