@peerbit/shared-log 13.1.18 → 13.2.1
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.
- package/dist/benchmark/index.js +91 -29
- package/dist/benchmark/index.js.map +1 -1
- package/dist/benchmark/native-graph.js +120 -10
- package/dist/benchmark/native-graph.js.map +1 -1
- package/dist/benchmark/network-preset-e2e.d.ts +2 -0
- package/dist/benchmark/network-preset-e2e.d.ts.map +1 -0
- package/dist/benchmark/network-preset-e2e.js +497 -0
- package/dist/benchmark/network-preset-e2e.js.map +1 -0
- package/dist/benchmark/receive-prune.d.ts +2 -0
- package/dist/benchmark/receive-prune.d.ts.map +1 -0
- package/dist/benchmark/receive-prune.js +816 -0
- package/dist/benchmark/receive-prune.js.map +1 -0
- package/dist/benchmark/sync-catchup.d.ts +1 -2
- package/dist/benchmark/sync-catchup.d.ts.map +1 -1
- package/dist/benchmark/sync-catchup.js +175 -7
- package/dist/benchmark/sync-catchup.js.map +1 -1
- package/dist/src/checked-prune.d.ts +3 -0
- package/dist/src/checked-prune.d.ts.map +1 -1
- package/dist/src/checked-prune.js +24 -0
- package/dist/src/checked-prune.js.map +1 -1
- package/dist/src/exchange-heads.d.ts +238 -1
- package/dist/src/exchange-heads.d.ts.map +1 -1
- package/dist/src/exchange-heads.js +1512 -36
- package/dist/src/exchange-heads.js.map +1 -1
- package/dist/src/index.d.ts +276 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7358 -666
- package/dist/src/index.js.map +1 -1
- package/dist/src/pid.d.ts.map +1 -1
- package/dist/src/pid.js +25 -9
- package/dist/src/pid.js.map +1 -1
- package/dist/src/ranges.d.ts +11 -2
- package/dist/src/ranges.d.ts.map +1 -1
- package/dist/src/ranges.js +74 -30
- package/dist/src/ranges.js.map +1 -1
- package/dist/src/sync/index.d.ts +77 -2
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.d.ts +11 -5
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.js +123 -60
- package/dist/src/sync/rateless-iblt.js.map +1 -1
- package/dist/src/sync/simple.d.ts +56 -4
- package/dist/src/sync/simple.d.ts.map +1 -1
- package/dist/src/sync/simple.js +495 -63
- package/dist/src/sync/simple.js.map +1 -1
- package/dist/src/utils.d.ts +2 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +49 -2
- package/dist/src/utils.js.map +1 -1
- package/package.json +27 -17
- package/src/checked-prune.ts +27 -0
- package/src/exchange-heads.ts +2018 -41
- package/src/index.ts +13114 -3167
- package/src/pid.ts +24 -13
- package/src/ranges.ts +90 -40
- package/src/sync/index.ts +115 -2
- package/src/sync/rateless-iblt.ts +154 -75
- package/src/sync/simple.ts +590 -95
- 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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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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
|
|
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
|