@peerbit/shared-log 9.2.13 → 10.0.0-05f4bef
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 +73 -69
- 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/ranges.d.ts
CHANGED
|
@@ -1,33 +1,72 @@
|
|
|
1
1
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
2
|
-
import { type Index, type ReturnTypeFromShape, type Shape } from "@peerbit/indexer-interface";
|
|
2
|
+
import { And, type Index, Or, type ReturnTypeFromShape, type Shape } from "@peerbit/indexer-interface";
|
|
3
3
|
import { Meta, ShallowMeta } from "@peerbit/log";
|
|
4
|
-
import { type
|
|
4
|
+
import { type NumberFromType, type Numbers } from "./integers.js";
|
|
5
|
+
import { type ReplicationChanges } from "./replication-domain.js";
|
|
5
6
|
export declare enum ReplicationIntent {
|
|
6
7
|
NonStrict = 0,// indicates that the segment will be replicated and nearby data might be replicated as well
|
|
7
8
|
Strict = 1
|
|
8
9
|
}
|
|
9
|
-
export declare
|
|
10
|
+
export declare enum SyncStatus {
|
|
11
|
+
Unsynced = 0,
|
|
12
|
+
Synced = 1
|
|
13
|
+
}
|
|
10
14
|
export declare const shouldAssigneToRangeBoundary: (leaders: Map<string, {
|
|
11
15
|
intersecting: boolean;
|
|
12
16
|
}> | false, minReplicas: number) => boolean;
|
|
13
|
-
export
|
|
14
|
-
|
|
17
|
+
export interface EntryReplicated<R extends "u32" | "u64"> {
|
|
18
|
+
hash: string;
|
|
19
|
+
gid: string;
|
|
20
|
+
coordinates: NumberFromType<R>[];
|
|
21
|
+
wallTime: bigint;
|
|
22
|
+
assignedToRangeBoundary: boolean;
|
|
23
|
+
get meta(): ShallowMeta;
|
|
24
|
+
}
|
|
25
|
+
export declare const isEntryReplicated: (x: any) => x is EntryReplicated<any>;
|
|
26
|
+
export declare class EntryReplicatedU32 implements EntryReplicated<"u32"> {
|
|
27
|
+
hash: string;
|
|
28
|
+
gid: string;
|
|
29
|
+
coordinates: number[];
|
|
30
|
+
wallTime: bigint;
|
|
31
|
+
assignedToRangeBoundary: boolean;
|
|
32
|
+
private _meta;
|
|
33
|
+
private _metaResolved;
|
|
34
|
+
constructor(properties: {
|
|
35
|
+
coordinates: number[];
|
|
36
|
+
hash: string;
|
|
37
|
+
meta: Meta;
|
|
38
|
+
assignedToRangeBoundary: boolean;
|
|
39
|
+
});
|
|
40
|
+
get meta(): ShallowMeta;
|
|
41
|
+
}
|
|
42
|
+
export declare class EntryReplicatedU64 implements EntryReplicated<"u64"> {
|
|
15
43
|
hash: string;
|
|
16
44
|
gid: string;
|
|
17
|
-
|
|
45
|
+
coordinates: bigint[];
|
|
18
46
|
wallTime: bigint;
|
|
19
47
|
assignedToRangeBoundary: boolean;
|
|
20
48
|
private _meta;
|
|
21
49
|
private _metaResolved;
|
|
22
50
|
constructor(properties: {
|
|
23
|
-
|
|
51
|
+
coordinates: bigint[];
|
|
24
52
|
hash: string;
|
|
25
53
|
meta: Meta;
|
|
26
54
|
assignedToRangeBoundary: boolean;
|
|
27
55
|
});
|
|
28
56
|
get meta(): ShallowMeta;
|
|
29
57
|
}
|
|
30
|
-
export
|
|
58
|
+
export interface ReplicationRangeMessage<R extends "u32" | "u64"> {
|
|
59
|
+
id: Uint8Array;
|
|
60
|
+
timestamp: bigint;
|
|
61
|
+
get offset(): NumberFromType<R>;
|
|
62
|
+
get factor(): NumberFromType<R>;
|
|
63
|
+
mode: ReplicationIntent;
|
|
64
|
+
toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexable<R>;
|
|
65
|
+
}
|
|
66
|
+
export declare const isReplicationRangeMessage: (x: any) => x is ReplicationRangeMessage<any>;
|
|
67
|
+
export declare abstract class ReplicationRangeMessage<R extends "u32" | "u64"> {
|
|
68
|
+
}
|
|
69
|
+
export declare class ReplicationRangeMessageU32 extends ReplicationRangeMessage<"u32"> {
|
|
31
70
|
id: Uint8Array;
|
|
32
71
|
timestamp: bigint;
|
|
33
72
|
private _offset;
|
|
@@ -42,9 +81,45 @@ export declare class ReplicationRange {
|
|
|
42
81
|
});
|
|
43
82
|
get factor(): number;
|
|
44
83
|
get offset(): number;
|
|
45
|
-
toReplicationRangeIndexable(key: PublicSignKey):
|
|
84
|
+
toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexableU32;
|
|
46
85
|
}
|
|
47
|
-
export declare class
|
|
86
|
+
export declare class ReplicationRangeMessageU64 extends ReplicationRangeMessage<"u64"> {
|
|
87
|
+
id: Uint8Array;
|
|
88
|
+
timestamp: bigint;
|
|
89
|
+
private _offset;
|
|
90
|
+
private _factor;
|
|
91
|
+
mode: ReplicationIntent;
|
|
92
|
+
constructor(properties: {
|
|
93
|
+
id: Uint8Array;
|
|
94
|
+
offset: bigint;
|
|
95
|
+
factor: bigint;
|
|
96
|
+
timestamp: bigint;
|
|
97
|
+
mode: ReplicationIntent;
|
|
98
|
+
});
|
|
99
|
+
get factor(): bigint;
|
|
100
|
+
get offset(): bigint;
|
|
101
|
+
toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexableU64;
|
|
102
|
+
}
|
|
103
|
+
export interface ReplicationRangeIndexable<R extends "u32" | "u64"> {
|
|
104
|
+
id: Uint8Array;
|
|
105
|
+
idString: string;
|
|
106
|
+
hash: string;
|
|
107
|
+
timestamp: bigint;
|
|
108
|
+
start1: NumberFromType<R>;
|
|
109
|
+
end1: NumberFromType<R>;
|
|
110
|
+
start2: NumberFromType<R>;
|
|
111
|
+
end2: NumberFromType<R>;
|
|
112
|
+
width: NumberFromType<R>;
|
|
113
|
+
widthNormalized: number;
|
|
114
|
+
mode: ReplicationIntent;
|
|
115
|
+
wrapped: boolean;
|
|
116
|
+
toUniqueSegmentId(): string;
|
|
117
|
+
toReplicationRange(): ReplicationRangeMessage<R>;
|
|
118
|
+
contains(point: NumberFromType<R>): boolean;
|
|
119
|
+
equalRange(other: ReplicationRangeIndexable<R>): boolean;
|
|
120
|
+
overlaps(other: ReplicationRangeIndexable<R>): boolean;
|
|
121
|
+
}
|
|
122
|
+
export declare class ReplicationRangeIndexableU32 implements ReplicationRangeIndexable<"u32"> {
|
|
48
123
|
id: Uint8Array;
|
|
49
124
|
hash: string;
|
|
50
125
|
timestamp: bigint;
|
|
@@ -56,7 +131,6 @@ export declare class ReplicationRangeIndexable {
|
|
|
56
131
|
mode: ReplicationIntent;
|
|
57
132
|
constructor(properties: {
|
|
58
133
|
id?: Uint8Array;
|
|
59
|
-
normalized?: boolean;
|
|
60
134
|
offset: number;
|
|
61
135
|
length: number;
|
|
62
136
|
mode?: ReplicationIntent;
|
|
@@ -69,57 +143,113 @@ export declare class ReplicationRangeIndexable {
|
|
|
69
143
|
private transform;
|
|
70
144
|
get idString(): string;
|
|
71
145
|
contains(point: number): boolean;
|
|
72
|
-
overlaps(other:
|
|
73
|
-
toReplicationRange():
|
|
74
|
-
distanceTo(point: number): number;
|
|
146
|
+
overlaps(other: ReplicationRangeIndexableU32, checkOther?: boolean): boolean;
|
|
147
|
+
toReplicationRange(): ReplicationRangeMessageU32;
|
|
75
148
|
get wrapped(): boolean;
|
|
76
149
|
get widthNormalized(): number;
|
|
77
|
-
equals(other:
|
|
78
|
-
equalRange(other:
|
|
150
|
+
equals(other: ReplicationRangeIndexableU32): boolean;
|
|
151
|
+
equalRange(other: ReplicationRangeIndexableU32): boolean;
|
|
79
152
|
toString(): string;
|
|
80
153
|
toStringDetailed(): string;
|
|
154
|
+
toUniqueSegmentId(): string;
|
|
81
155
|
}
|
|
82
|
-
export declare
|
|
83
|
-
|
|
84
|
-
|
|
156
|
+
export declare class ReplicationRangeIndexableU64 implements ReplicationRangeIndexable<"u64"> {
|
|
157
|
+
id: Uint8Array;
|
|
158
|
+
hash: string;
|
|
159
|
+
timestamp: bigint;
|
|
160
|
+
start1: bigint;
|
|
161
|
+
end1: bigint;
|
|
162
|
+
start2: bigint;
|
|
163
|
+
end2: bigint;
|
|
164
|
+
width: bigint;
|
|
165
|
+
mode: ReplicationIntent;
|
|
166
|
+
constructor(properties: {
|
|
167
|
+
id?: Uint8Array;
|
|
168
|
+
offset: bigint | number;
|
|
169
|
+
length: bigint | number;
|
|
170
|
+
mode?: ReplicationIntent;
|
|
171
|
+
timestamp?: bigint;
|
|
172
|
+
} & ({
|
|
173
|
+
publicKeyHash: string;
|
|
174
|
+
} | {
|
|
175
|
+
publicKey: PublicSignKey;
|
|
176
|
+
}));
|
|
177
|
+
private transform;
|
|
178
|
+
get idString(): string;
|
|
179
|
+
contains(point: bigint): boolean;
|
|
180
|
+
overlaps(other: ReplicationRangeIndexableU64, checkOther?: boolean): boolean;
|
|
181
|
+
toReplicationRange(): ReplicationRangeMessageU64;
|
|
182
|
+
get wrapped(): boolean;
|
|
183
|
+
get widthNormalized(): number;
|
|
184
|
+
equals(other: ReplicationRangeIndexableU64): boolean;
|
|
185
|
+
equalRange(other: ReplicationRangeIndexableU64): boolean;
|
|
186
|
+
toString(): string;
|
|
187
|
+
toStringDetailed(): string;
|
|
188
|
+
toUniqueSegmentId(): string;
|
|
189
|
+
}
|
|
190
|
+
export declare const mergeRanges: <R extends "u32" | "u64">(segments: ReplicationRangeIndexable<R>[], numbers: {
|
|
191
|
+
zero: NumberFromType<R>;
|
|
192
|
+
maxValue: NumberFromType<R>;
|
|
193
|
+
}) => any;
|
|
194
|
+
export declare const appromixateCoverage: <R extends "u32" | "u64">(properties: {
|
|
195
|
+
peers: Index<ReplicationRangeIndexable<R>>;
|
|
196
|
+
samples: number;
|
|
197
|
+
numbers: Numbers<R>;
|
|
198
|
+
roleAge?: number;
|
|
199
|
+
normalized?: boolean;
|
|
200
|
+
}) => Promise<number>;
|
|
201
|
+
export declare const getCoveringRangeQuery: (range: {
|
|
202
|
+
start1: number | bigint;
|
|
203
|
+
end1: number | bigint;
|
|
204
|
+
start2: number | bigint;
|
|
205
|
+
end2: number | bigint;
|
|
206
|
+
}) => Or[];
|
|
207
|
+
export declare const iHaveCoveringRange: <R extends "u32" | "u64">(rects: Index<ReplicationRangeIndexable<R>>, range: ReplicationRangeIndexable<R>) => Promise<boolean>;
|
|
208
|
+
export declare function getDistance(from: any, to: any, direction: "above" | "below" | "closest", end: any): any;
|
|
85
209
|
export declare const isMatured: (segment: {
|
|
86
210
|
timestamp: bigint;
|
|
87
211
|
}, now: number, minAge: number) => boolean;
|
|
88
|
-
export declare const getSamples: (cursor:
|
|
212
|
+
export declare const getSamples: <R extends "u32" | "u64">(cursor: NumberFromType<R>[], peers: Index<ReplicationRangeIndexable<R>>, roleAge: number, numbers: Numbers<R>, options?: {
|
|
213
|
+
onlyIntersecting?: boolean;
|
|
214
|
+
uniqueReplicators?: Set<string>;
|
|
215
|
+
}) => Promise<Map<string, {
|
|
89
216
|
intersecting: boolean;
|
|
90
217
|
}>>;
|
|
91
|
-
export declare const minimumWidthToCover: (minReplicas: number) => Promise<
|
|
92
|
-
export declare const getCoverSet: (properties: {
|
|
93
|
-
peers: Index<ReplicationRangeIndexable
|
|
94
|
-
start:
|
|
95
|
-
widthToCoverScaled:
|
|
218
|
+
export declare const minimumWidthToCover: <R extends "u32" | "u64">(minReplicas: number, numbers: Numbers<R>) => Promise<NumberFromType<R>>;
|
|
219
|
+
export declare const getCoverSet: <R extends "u32" | "u64">(properties: {
|
|
220
|
+
peers: Index<ReplicationRangeIndexable<R>>;
|
|
221
|
+
start: NumberFromType<R> | PublicSignKey | undefined;
|
|
222
|
+
widthToCoverScaled: NumberFromType<R>;
|
|
96
223
|
roleAge: number;
|
|
97
|
-
|
|
224
|
+
numbers: Numbers<R>;
|
|
98
225
|
eager?: {
|
|
99
226
|
unmaturedFetchCoverSize?: number;
|
|
100
227
|
} | boolean;
|
|
101
228
|
}) => Promise<Set<string>>;
|
|
102
|
-
export declare const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
229
|
+
export declare const matchEntriesInRangeQuery: (range: {
|
|
230
|
+
start1: number | bigint;
|
|
231
|
+
end1: number | bigint;
|
|
232
|
+
start2: number | bigint;
|
|
233
|
+
end2: number | bigint;
|
|
234
|
+
}) => Or | And;
|
|
235
|
+
export declare const toRebalance: <R extends "u32" | "u64">(changes: ReplicationChanges, index: Index<EntryReplicated<R>>) => AsyncIterable<EntryReplicated<R>>;
|
|
106
236
|
export declare const fetchOneFromPublicKey: <S extends (Shape & {
|
|
107
237
|
timestamp: true;
|
|
108
|
-
}) | undefined
|
|
238
|
+
}) | undefined, R extends "u32" | "u64">(publicKey: PublicSignKey, index: Index<ReplicationRangeIndexable<R>>, roleAge: number, now: number, numbers: Numbers<R>, options?: {
|
|
109
239
|
shape: S;
|
|
110
|
-
}) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable
|
|
240
|
+
}) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable<R>, S>>;
|
|
111
241
|
export declare const getStartAndEnd: <S extends (Shape & {
|
|
112
242
|
timestamp: true;
|
|
113
|
-
}) | undefined>(peers: Index<ReplicationRangeIndexable
|
|
243
|
+
}) | undefined, R extends "u32" | "u64">(peers: Index<ReplicationRangeIndexable<R>>, start: NumberFromType<R> | PublicSignKey | undefined | undefined, widthToCoverScaled: NumberFromType<R>, roleAge: number, now: number, numbers: Numbers<R>, options?: {
|
|
114
244
|
shape: S;
|
|
115
245
|
}) => Promise<{
|
|
116
|
-
startNode: ReturnTypeFromShape<ReplicationRangeIndexable
|
|
117
|
-
startLocation:
|
|
118
|
-
endLocation:
|
|
246
|
+
startNode: ReturnTypeFromShape<ReplicationRangeIndexable<R>, S> | undefined;
|
|
247
|
+
startLocation: NumberFromType<R>;
|
|
248
|
+
endLocation: NumberFromType<R>;
|
|
119
249
|
}>;
|
|
120
250
|
export declare const fetchOneClosest: <S extends (Shape & {
|
|
121
251
|
timestamp: true;
|
|
122
|
-
}) | undefined
|
|
252
|
+
}) | undefined, R extends "u32" | "u64">(peers: Index<ReplicationRangeIndexable<R>>, point: NumberFromType<R>, roleAge: number, now: number, includeStrictBelow: boolean, includeStrictAbove: boolean, numbers: Numbers<R>, options?: {
|
|
123
253
|
shape?: S;
|
|
124
|
-
}) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable
|
|
254
|
+
}) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable<R>, S>>;
|
|
125
255
|
//# sourceMappingURL=ranges.d.ts.map
|
package/dist/src/ranges.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
|