@peerbit/shared-log 9.2.13 → 10.0.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.
- package/dist/benchmark/get-samples.js +190 -64
- package/dist/benchmark/get-samples.js.map +1 -1
- package/dist/benchmark/index.js +16 -38
- package/dist/benchmark/index.js.map +1 -1
- package/dist/benchmark/memory/child.js.map +1 -1
- package/dist/benchmark/partial-sync.d.ts +3 -0
- package/dist/benchmark/partial-sync.d.ts.map +1 -0
- package/dist/benchmark/partial-sync.js +121 -0
- package/dist/benchmark/partial-sync.js.map +1 -0
- package/dist/benchmark/replication-prune.js.map +1 -1
- package/dist/benchmark/replication.js.map +1 -1
- package/dist/benchmark/to-rebalance.d.ts +2 -0
- package/dist/benchmark/to-rebalance.d.ts.map +1 -0
- package/dist/benchmark/to-rebalance.js +117 -0
- package/dist/benchmark/to-rebalance.js.map +1 -0
- package/dist/benchmark/utils.d.ts +24 -0
- package/dist/benchmark/utils.d.ts.map +1 -0
- package/dist/benchmark/utils.js +47 -0
- package/dist/benchmark/utils.js.map +1 -0
- package/dist/src/debounce.d.ts +2 -2
- package/dist/src/debounce.d.ts.map +1 -1
- package/dist/src/debounce.js +17 -47
- package/dist/src/debounce.js.map +1 -1
- package/dist/src/exchange-heads.d.ts +1 -13
- package/dist/src/exchange-heads.d.ts.map +1 -1
- package/dist/src/exchange-heads.js +0 -32
- package/dist/src/exchange-heads.js.map +1 -1
- package/dist/src/index.d.ts +119 -60
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1116 -762
- package/dist/src/index.js.map +1 -1
- package/dist/src/integers.d.ts +22 -0
- package/dist/src/integers.d.ts.map +1 -0
- package/dist/src/integers.js +76 -0
- package/dist/src/integers.js.map +1 -0
- package/dist/src/pid.d.ts.map +1 -1
- package/dist/src/pid.js +22 -22
- package/dist/src/pid.js.map +1 -1
- package/dist/src/ranges.d.ts +168 -38
- package/dist/src/ranges.d.ts.map +1 -1
- package/dist/src/ranges.js +869 -272
- package/dist/src/ranges.js.map +1 -1
- package/dist/src/replication-domain-hash.d.ts +2 -3
- package/dist/src/replication-domain-hash.d.ts.map +1 -1
- package/dist/src/replication-domain-hash.js +40 -15
- package/dist/src/replication-domain-hash.js.map +1 -1
- package/dist/src/replication-domain-time.d.ts +5 -5
- package/dist/src/replication-domain-time.d.ts.map +1 -1
- package/dist/src/replication-domain-time.js +2 -0
- package/dist/src/replication-domain-time.js.map +1 -1
- package/dist/src/replication-domain.d.ts +17 -19
- package/dist/src/replication-domain.d.ts.map +1 -1
- package/dist/src/replication-domain.js +2 -6
- package/dist/src/replication-domain.js.map +1 -1
- package/dist/src/replication.d.ts +6 -6
- package/dist/src/replication.d.ts.map +1 -1
- package/dist/src/replication.js +4 -4
- package/dist/src/replication.js.map +1 -1
- package/dist/src/role.d.ts +3 -6
- package/dist/src/role.d.ts.map +1 -1
- package/dist/src/role.js +4 -5
- package/dist/src/role.js.map +1 -1
- package/dist/src/sync/index.d.ts +40 -0
- package/dist/src/sync/index.d.ts.map +1 -0
- package/dist/src/sync/index.js +2 -0
- package/dist/src/sync/index.js.map +1 -0
- package/dist/src/sync/rateless-iblt.d.ts +124 -0
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -0
- package/dist/src/sync/rateless-iblt.js +495 -0
- package/dist/src/sync/rateless-iblt.js.map +1 -0
- package/dist/src/sync/simple.d.ts +69 -0
- package/dist/src/sync/simple.d.ts.map +1 -0
- package/dist/src/sync/simple.js +338 -0
- package/dist/src/sync/simple.js.map +1 -0
- package/dist/src/sync/wasm-init.browser.d.ts +1 -0
- package/dist/src/sync/wasm-init.browser.d.ts.map +1 -0
- package/dist/src/sync/wasm-init.browser.js +3 -0
- package/dist/src/sync/wasm-init.browser.js.map +1 -0
- package/dist/src/sync/wasm-init.d.ts +2 -0
- package/dist/src/sync/wasm-init.d.ts.map +1 -0
- package/dist/src/sync/wasm-init.js +13 -0
- package/dist/src/sync/wasm-init.js.map +1 -0
- package/dist/src/utils.d.ts +3 -3
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +2 -2
- package/dist/src/utils.js.map +1 -1
- package/package.json +10 -6
- package/src/debounce.ts +16 -51
- package/src/exchange-heads.ts +1 -23
- package/src/index.ts +1532 -1038
- package/src/integers.ts +102 -0
- package/src/pid.ts +23 -22
- package/src/ranges.ts +1204 -413
- package/src/replication-domain-hash.ts +43 -18
- package/src/replication-domain-time.ts +9 -9
- package/src/replication-domain.ts +21 -31
- package/src/replication.ts +10 -9
- package/src/role.ts +4 -6
- package/src/sync/index.ts +51 -0
- package/src/sync/rateless-iblt.ts +617 -0
- package/src/sync/simple.ts +403 -0
- package/src/sync/wasm-init.browser.ts +1 -0
- package/src/sync/wasm-init.ts +14 -0
- package/src/utils.ts +10 -4
package/dist/src/index.d.ts
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
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, ShallowEntry, type ShallowOrFullEntry } from "@peerbit/log";
|
|
3
|
+
import { type AppendOptions, type Change, Entry, Log, type LogEvents, type LogProperties, Meta, ShallowEntry, type ShallowOrFullEntry } from "@peerbit/log";
|
|
4
4
|
import { Program, type ProgramEvents } from "@peerbit/program";
|
|
5
5
|
import { SubscriptionEvent, UnsubcriptionEvent } from "@peerbit/pubsub-interface";
|
|
6
6
|
import { RPC, type RequestContext } from "@peerbit/rpc";
|
|
7
7
|
import { type CPUUsage, CPUUsageIntervalLag } from "./cpu.js";
|
|
8
8
|
import { type DebouncedAccumulatorMap } from "./debounce.js";
|
|
9
|
+
import { type NumberFromType, type Numbers } from "./integers.js";
|
|
9
10
|
import { TransportMessage } from "./message.js";
|
|
10
11
|
import { PIDReplicationController } from "./pid.js";
|
|
11
|
-
import { EntryReplicated,
|
|
12
|
+
import { type EntryReplicated, EntryReplicatedU32, EntryReplicatedU64, ReplicationIntent, type ReplicationRangeIndexable, ReplicationRangeMessage, SyncStatus } from "./ranges.js";
|
|
12
13
|
import { type ReplicationDomainHash, createReplicationDomainHash } from "./replication-domain-hash.js";
|
|
13
14
|
import { type ReplicationDomainTime, createReplicationDomainTime } from "./replication-domain-time.js";
|
|
14
|
-
import { type ExtractDomainArgs, type ReplicationChanges, type ReplicationDomain } from "./replication-domain.js";
|
|
15
|
+
import { type ExtractDomainArgs, type ReplicationChange, type ReplicationChanges, type ReplicationDomain } from "./replication-domain.js";
|
|
15
16
|
import { AbsoluteReplicas, AddedReplicationSegmentMessage, AllReplicatingSegmentsMessage, type ReplicationLimits } from "./replication.js";
|
|
17
|
+
import type { SynchronizerConstructor, Syncronizer } from "./sync/index.js";
|
|
16
18
|
export { type ReplicationDomain, type ReplicationDomainHash, type ReplicationDomainTime, createReplicationDomainHash, createReplicationDomainTime, };
|
|
17
19
|
export { type CPUUsage, CPUUsageIntervalLag };
|
|
18
20
|
export * from "./replication.js";
|
|
19
|
-
export { EntryReplicated,
|
|
21
|
+
export { type ReplicationRangeIndexable, type EntryReplicated, EntryReplicatedU32, EntryReplicatedU64, };
|
|
20
22
|
export declare const logger: import("pino").Logger<never>;
|
|
21
23
|
export type ReplicationLimitsOptions = Partial<ReplicationLimits> | {
|
|
22
24
|
min?: number;
|
|
23
25
|
max?: number;
|
|
24
26
|
};
|
|
25
|
-
export type DynamicReplicationOptions = {
|
|
27
|
+
export type DynamicReplicationOptions<R extends "u32" | "u64"> = {
|
|
26
28
|
limits?: {
|
|
27
29
|
interval?: number;
|
|
28
30
|
storage?: number;
|
|
@@ -31,23 +33,55 @@ export type DynamicReplicationOptions = {
|
|
|
31
33
|
monitor?: CPUUsage;
|
|
32
34
|
};
|
|
33
35
|
};
|
|
34
|
-
}
|
|
36
|
+
} & ({
|
|
37
|
+
offset: number;
|
|
38
|
+
normalized?: true | undefined;
|
|
39
|
+
} | {
|
|
40
|
+
offset: NumberFromType<R>;
|
|
41
|
+
normalized: false;
|
|
42
|
+
} | {
|
|
43
|
+
offset?: undefined;
|
|
44
|
+
normalized?: undefined;
|
|
45
|
+
});
|
|
35
46
|
export type FixedReplicationOptions = {
|
|
36
47
|
id?: Uint8Array;
|
|
37
48
|
normalized?: boolean;
|
|
38
|
-
factor: number | "all" | "right";
|
|
49
|
+
factor: number | bigint | "all" | "right";
|
|
39
50
|
strict?: boolean;
|
|
40
|
-
offset?: number;
|
|
51
|
+
offset?: number | bigint;
|
|
52
|
+
syncStatus?: SyncStatus;
|
|
41
53
|
};
|
|
42
|
-
export type ReplicationOptions = DynamicReplicationOptions | FixedReplicationOptions | FixedReplicationOptions[] | number | boolean;
|
|
43
|
-
|
|
44
|
-
|
|
54
|
+
export type ReplicationOptions<R extends "u32" | "u64" = any> = DynamicReplicationOptions<R> | FixedReplicationOptions | FixedReplicationOptions[] | number | boolean;
|
|
55
|
+
interface IndexableDomain<R extends "u32" | "u64"> {
|
|
56
|
+
numbers: Numbers<R>;
|
|
57
|
+
constructorEntry: new (properties: {
|
|
58
|
+
coordinates: NumberFromType<R>[];
|
|
59
|
+
hash: string;
|
|
60
|
+
meta: Meta;
|
|
61
|
+
assignedToRangeBoundary: boolean;
|
|
62
|
+
}) => EntryReplicated<R>;
|
|
63
|
+
constructorRange: new (properties: {
|
|
64
|
+
id?: Uint8Array;
|
|
65
|
+
offset: NumberFromType<R>;
|
|
66
|
+
length: NumberFromType<R>;
|
|
67
|
+
mode?: ReplicationIntent;
|
|
68
|
+
timestamp?: bigint;
|
|
69
|
+
} & ({
|
|
70
|
+
publicKeyHash: string;
|
|
71
|
+
} | {
|
|
72
|
+
publicKey: PublicSignKey;
|
|
73
|
+
})) => ReplicationRangeIndexable<R>;
|
|
74
|
+
}
|
|
75
|
+
export type SharedLogOptions<T, D extends ReplicationDomain<any, T, R>, R extends "u32" | "u64" = D extends ReplicationDomain<any, T, infer I> ? I : "u32"> = {
|
|
76
|
+
replicate?: ReplicationOptions<R>;
|
|
45
77
|
replicas?: ReplicationLimitsOptions;
|
|
46
78
|
respondToIHaveTimeout?: number;
|
|
47
79
|
canReplicate?: (publicKey: PublicSignKey) => Promise<boolean> | boolean;
|
|
48
|
-
sync?: (entry: ShallowOrFullEntry<T> | EntryReplicated) => boolean;
|
|
80
|
+
sync?: (entry: ShallowOrFullEntry<T> | EntryReplicated<R>) => boolean;
|
|
81
|
+
syncronizer?: SynchronizerConstructor<R>;
|
|
49
82
|
timeUntilRoleMaturity?: number;
|
|
50
83
|
waitForReplicatorTimeout?: number;
|
|
84
|
+
waitForPruneDelay?: number;
|
|
51
85
|
distributionDebounceTime?: number;
|
|
52
86
|
compatibility?: number;
|
|
53
87
|
domain?: D;
|
|
@@ -55,7 +89,8 @@ export type SharedLogOptions<T, D extends ReplicationDomain<any, T>> = {
|
|
|
55
89
|
export declare const DEFAULT_MIN_REPLICAS = 2;
|
|
56
90
|
export declare const WAIT_FOR_REPLICATOR_TIMEOUT = 9000;
|
|
57
91
|
export declare const WAIT_FOR_ROLE_MATURITY = 5000;
|
|
58
|
-
export
|
|
92
|
+
export declare const WAIT_FOR_PRUNE_DELAY = 5000;
|
|
93
|
+
export type Args<T, D extends ReplicationDomain<any, T, R>, R extends "u32" | "u64" = D extends ReplicationDomain<any, T, infer I> ? I : "u32"> = LogProperties<T> & LogEvents<T> & SharedLogOptions<T, D, R>;
|
|
59
94
|
export type SharedAppendOptions<T> = AppendOptions<T> & {
|
|
60
95
|
replicas?: AbsoluteReplicas | number;
|
|
61
96
|
replicate?: boolean;
|
|
@@ -79,14 +114,16 @@ export interface SharedLogEvents extends ProgramEvents {
|
|
|
79
114
|
"replication:change": CustomEvent<ReplicationChangeEvent>;
|
|
80
115
|
"replicator:mature": CustomEvent<ReplicatorMatureEvent>;
|
|
81
116
|
}
|
|
82
|
-
export declare class SharedLog<T
|
|
117
|
+
export declare class SharedLog<T, D extends ReplicationDomain<any, T, R>, R extends "u32" | "u64" = D extends ReplicationDomain<any, T, infer I> ? I : "u32"> extends Program<Args<T, D, R>, SharedLogEvents> {
|
|
83
118
|
log: Log<T>;
|
|
84
119
|
rpc: RPC<TransportMessage, TransportMessage>;
|
|
85
120
|
private _isReplicating;
|
|
86
121
|
private _isAdaptiveReplicating;
|
|
87
122
|
private _replicationRangeIndex;
|
|
88
123
|
private _entryCoordinatesIndex;
|
|
89
|
-
private
|
|
124
|
+
private coordinateToHash;
|
|
125
|
+
private uniqueReplicators;
|
|
126
|
+
_gidPeersHistory: Map<string, Set<string>>;
|
|
90
127
|
private _onSubscriptionFn;
|
|
91
128
|
private _onUnsubscriptionFn;
|
|
92
129
|
private _isTrustedReplicator?;
|
|
@@ -95,27 +132,31 @@ export declare class SharedLog<T = Uint8Array, D extends ReplicationDomain<any,
|
|
|
95
132
|
private _respondToIHaveTimeout;
|
|
96
133
|
private _pendingDeletes;
|
|
97
134
|
private _pendingIHave;
|
|
98
|
-
|
|
135
|
+
pendingMaturity: Map<string, Map<string, {
|
|
136
|
+
range: ReplicationChange;
|
|
137
|
+
timeout: ReturnType<typeof setTimeout>;
|
|
138
|
+
}>>;
|
|
99
139
|
private latestReplicationInfoMessage;
|
|
100
140
|
private remoteBlocks;
|
|
101
141
|
private openTime;
|
|
102
142
|
private oldestOpenTime;
|
|
103
143
|
private sync?;
|
|
104
144
|
private rebalanceParticipationDebounced;
|
|
105
|
-
pruneDebouncedFn: DebouncedAccumulatorMap<
|
|
145
|
+
pruneDebouncedFn: DebouncedAccumulatorMap<{
|
|
146
|
+
entry: Entry<T> | ShallowEntry | EntryReplicated<R>;
|
|
147
|
+
leaders: Map<string, any>;
|
|
148
|
+
}>;
|
|
106
149
|
private responseToPruneDebouncedFn;
|
|
150
|
+
private _requestIPruneSent;
|
|
151
|
+
private _requestIPruneResponseReplicatorSet;
|
|
107
152
|
private replicationChangeDebounceFn;
|
|
108
153
|
private distributeQueue?;
|
|
109
|
-
|
|
110
|
-
private syncInFlightQueue;
|
|
111
|
-
private syncInFlightQueueInverted;
|
|
112
|
-
syncInFlight: Map<string, Map<string, {
|
|
113
|
-
timestamp: number;
|
|
114
|
-
}>>;
|
|
154
|
+
syncronizer: Syncronizer<R>;
|
|
115
155
|
replicas: ReplicationLimits;
|
|
116
156
|
private cpuUsage?;
|
|
117
157
|
timeUntilRoleMaturity: number;
|
|
118
158
|
waitForReplicatorTimeout: number;
|
|
159
|
+
waitForPruneDelay: number;
|
|
119
160
|
distributionDebounceTime: number;
|
|
120
161
|
replicationController: PIDReplicationController;
|
|
121
162
|
history: {
|
|
@@ -123,6 +164,7 @@ export declare class SharedLog<T = Uint8Array, D extends ReplicationDomain<any,
|
|
|
123
164
|
factor: number;
|
|
124
165
|
}[];
|
|
125
166
|
domain: D;
|
|
167
|
+
indexableDomain: IndexableDomain<R>;
|
|
126
168
|
interval: any;
|
|
127
169
|
constructor(properties?: {
|
|
128
170
|
id?: Uint8Array;
|
|
@@ -131,31 +173,33 @@ export declare class SharedLog<T = Uint8Array, D extends ReplicationDomain<any,
|
|
|
131
173
|
private get v8Behaviour();
|
|
132
174
|
private getRole;
|
|
133
175
|
isReplicating(): Promise<boolean>;
|
|
134
|
-
calculateTotalParticipation(): Promise<number>;
|
|
135
|
-
countReplicationSegments(): Promise<number>;
|
|
136
176
|
private setupRebalanceDebounceFunction;
|
|
137
177
|
private _replicate;
|
|
138
|
-
setupDebouncedRebalancing(options?: DynamicReplicationOptions): void;
|
|
139
|
-
replicate(rangeOrEntry?: ReplicationOptions | Entry<T> | Entry<T>[], options?: {
|
|
178
|
+
setupDebouncedRebalancing(options?: DynamicReplicationOptions<R>): void;
|
|
179
|
+
replicate(rangeOrEntry?: ReplicationOptions<R> | Entry<T> | Entry<T>[], options?: {
|
|
140
180
|
reset?: boolean;
|
|
141
181
|
checkDuplicates?: boolean;
|
|
182
|
+
mergeSegments?: boolean;
|
|
142
183
|
announce?: (msg: AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage) => void;
|
|
143
|
-
}): Promise<ReplicationRangeIndexable[] | undefined>;
|
|
144
|
-
unreplicate(rangeOrEntry?: Entry<T> |
|
|
184
|
+
}): Promise<ReplicationRangeIndexable<any>[] | undefined>;
|
|
185
|
+
unreplicate(rangeOrEntry?: Entry<T> | ReplicationRangeMessage<R>): Promise<void>;
|
|
145
186
|
private removeReplicator;
|
|
146
187
|
private updateOldestTimestampFromIndex;
|
|
147
188
|
private removeReplicationRange;
|
|
148
189
|
private addReplicationRange;
|
|
149
|
-
startAnnounceReplicating(range: ReplicationRangeIndexable[], options?: {
|
|
190
|
+
startAnnounceReplicating(range: ReplicationRangeIndexable<R>[], options?: {
|
|
191
|
+
syncStatus?: SyncStatus;
|
|
150
192
|
reset?: boolean;
|
|
151
193
|
checkDuplicates?: boolean;
|
|
152
194
|
announce?: (msg: AllReplicatingSegmentsMessage | AddedReplicationSegmentMessage) => void;
|
|
153
195
|
}): Promise<void>;
|
|
196
|
+
private removePeerFromGidPeerHistory;
|
|
197
|
+
private addPeersToGidPeerHistory;
|
|
154
198
|
append(data: T, options?: SharedAppendOptions<T> | undefined): Promise<{
|
|
155
199
|
entry: Entry<T>;
|
|
156
200
|
removed: ShallowOrFullEntry<T>[];
|
|
157
201
|
}>;
|
|
158
|
-
open(options?: Args<T, D>): Promise<void>;
|
|
202
|
+
open(options?: Args<T, D, R>): Promise<void>;
|
|
159
203
|
afterOpen(): Promise<void>;
|
|
160
204
|
reset(): Promise<void>;
|
|
161
205
|
pruneOfflineReplicators(): Promise<any[]>;
|
|
@@ -174,10 +218,15 @@ export declare class SharedLog<T = Uint8Array, D extends ReplicationDomain<any,
|
|
|
174
218
|
drop(from?: Program): Promise<boolean>;
|
|
175
219
|
recover(): Promise<void>;
|
|
176
220
|
_onMessage(msg: TransportMessage, context: RequestContext): Promise<void>;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
221
|
+
calculateTotalParticipation(options?: {
|
|
222
|
+
sum?: boolean;
|
|
223
|
+
}): Promise<number>;
|
|
224
|
+
countReplicationSegments(): Promise<number>;
|
|
225
|
+
getAllReplicationSegments(): Promise<ReplicationRangeIndexable<R>[]>;
|
|
226
|
+
getMyReplicationSegments(): Promise<ReplicationRangeIndexable<R>[]>;
|
|
227
|
+
calculateMyTotalParticipation(): Promise<number>;
|
|
228
|
+
get replicationIndex(): Index<ReplicationRangeIndexable<R>>;
|
|
229
|
+
get entryCoordinatesIndex(): Index<EntryReplicated<R>>;
|
|
181
230
|
/**
|
|
182
231
|
* TODO improve efficiency
|
|
183
232
|
*/
|
|
@@ -186,59 +235,69 @@ export declare class SharedLog<T = Uint8Array, D extends ReplicationDomain<any,
|
|
|
186
235
|
join(entries: (string | Entry<T> | ShallowEntry)[], options?: {
|
|
187
236
|
verifySignatures?: boolean;
|
|
188
237
|
timeout?: number;
|
|
189
|
-
replicate?: boolean
|
|
238
|
+
replicate?: boolean | {
|
|
239
|
+
mergeSegments?: boolean;
|
|
240
|
+
};
|
|
190
241
|
}): Promise<void>;
|
|
191
|
-
private
|
|
192
|
-
|
|
193
|
-
|
|
242
|
+
private _waitForReplicators;
|
|
243
|
+
createCoordinates(entry: ShallowOrFullEntry<any> | EntryReplicated<R> | NumberFromType<R>, minReplicas: number): Promise<NumberFromType<R>[]>;
|
|
244
|
+
private getCoordinates;
|
|
245
|
+
private persistCoordinate;
|
|
246
|
+
private deleteCoordinates;
|
|
247
|
+
getDefaultMinRoleAge(): Promise<number>;
|
|
248
|
+
findLeaders(cursors: NumberFromType<R>[], entry: Entry<T> | EntryReplicated<R> | ShallowEntry, options?: {
|
|
249
|
+
roleAge?: number;
|
|
250
|
+
onLeader?: (key: string) => void;
|
|
251
|
+
persist?: {
|
|
252
|
+
prev?: EntryReplicated<R>;
|
|
253
|
+
} | false;
|
|
254
|
+
}): Promise<Map<string, {
|
|
255
|
+
intersecting: boolean;
|
|
256
|
+
}>>;
|
|
257
|
+
isLeader(properties: {
|
|
258
|
+
entry: ShallowOrFullEntry<any> | EntryReplicated<R>;
|
|
194
259
|
replicas: number;
|
|
195
260
|
}, options?: {
|
|
196
261
|
roleAge?: number;
|
|
262
|
+
onLeader?: (key: string) => void;
|
|
263
|
+
persist?: {
|
|
264
|
+
prev?: EntryReplicated<R>;
|
|
265
|
+
} | false;
|
|
197
266
|
}): Promise<boolean>;
|
|
198
|
-
private
|
|
199
|
-
|
|
200
|
-
entry: ShallowOrFullEntry<any> | EntryReplicated;
|
|
201
|
-
replicas: number;
|
|
202
|
-
}, options?: {
|
|
267
|
+
private _findLeaders;
|
|
268
|
+
findLeadersFromEntry(entry: ShallowOrFullEntry<any> | EntryReplicated<R>, replicas: number, options?: {
|
|
203
269
|
roleAge?: number;
|
|
204
270
|
}): Promise<Map<string, {
|
|
205
271
|
intersecting: boolean;
|
|
206
272
|
}>>;
|
|
207
|
-
private groupByLeaders;
|
|
208
|
-
private createCoordinates;
|
|
209
|
-
private getCoordinates;
|
|
210
|
-
private persistCoordinate;
|
|
211
|
-
private deleteCoordinates;
|
|
212
|
-
getDefaultMinRoleAge(): Promise<number>;
|
|
213
|
-
private findLeadersFromU32;
|
|
214
273
|
isReplicator(entry: Entry<any>, options?: {
|
|
215
274
|
candidates?: string[];
|
|
216
275
|
roleAge?: number;
|
|
217
276
|
}): Promise<boolean>;
|
|
218
277
|
handleSubscriptionChange(publicKey: PublicSignKey, topics: string[], subscribed: boolean): Promise<void>;
|
|
219
|
-
|
|
278
|
+
private getClampedReplicas;
|
|
279
|
+
prune(entries: Map<string, {
|
|
280
|
+
entry: EntryReplicated<R> | ShallowOrFullEntry<any>;
|
|
281
|
+
leaders: Map<string, unknown> | Set<string>;
|
|
282
|
+
}>, options?: {
|
|
220
283
|
timeout?: number;
|
|
221
284
|
unchecked?: boolean;
|
|
222
285
|
}): Promise<any>[];
|
|
223
286
|
/**
|
|
224
287
|
* For debugging
|
|
225
288
|
*/
|
|
226
|
-
getPrunable(): Promise<Entry<any>[]>;
|
|
227
|
-
getNonPrunable(): Promise<Entry<any>[]>;
|
|
289
|
+
getPrunable(roleAge?: number): Promise<Entry<any>[]>;
|
|
290
|
+
getNonPrunable(roleAge?: number): Promise<Entry<any>[]>;
|
|
228
291
|
rebalanceAll(options?: {
|
|
229
292
|
clearCache?: boolean;
|
|
230
293
|
}): Promise<void>;
|
|
231
294
|
waitForPruned(): Promise<void>;
|
|
232
295
|
onReplicationChange(changeOrChanges: ReplicationChanges | ReplicationChanges[]): Promise<false | undefined>;
|
|
233
|
-
private requestSync;
|
|
234
296
|
_onUnsubscription(evt: CustomEvent<UnsubcriptionEvent>): Promise<void>;
|
|
235
297
|
_onSubscription(evt: CustomEvent<SubscriptionEvent>): Promise<void>;
|
|
236
|
-
addToHistory(usedMemory: number, factor: number): Promise<void>;
|
|
237
|
-
calculateTrend(): Promise<number>;
|
|
238
298
|
rebalanceParticipation(): Promise<boolean | undefined>;
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
private clearSyncProcessPublicKey;
|
|
299
|
+
private getDynamicRangeOffset;
|
|
300
|
+
getDynamicRange(): Promise<ReplicationRangeIndexable<R> | undefined>;
|
|
242
301
|
private onEntryAdded;
|
|
243
302
|
onEntryRemoved(hash: string): void;
|
|
244
303
|
}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|