@peerbit/shared-log 13.1.16 → 13.1.17
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/native-graph.d.ts +2 -0
- package/dist/benchmark/native-graph.d.ts.map +1 -0
- package/dist/benchmark/native-graph.js +249 -0
- package/dist/benchmark/native-graph.js.map +1 -0
- package/dist/benchmark/sync-batch-sweep.js +72 -24
- package/dist/benchmark/sync-batch-sweep.js.map +1 -1
- package/dist/benchmark/sync-phase-profile.d.ts +2 -0
- package/dist/benchmark/sync-phase-profile.d.ts.map +1 -0
- package/dist/benchmark/sync-phase-profile.js +303 -0
- package/dist/benchmark/sync-phase-profile.js.map +1 -0
- package/dist/src/checked-prune.d.ts +55 -0
- package/dist/src/checked-prune.d.ts.map +1 -0
- package/dist/src/checked-prune.js +244 -0
- package/dist/src/checked-prune.js.map +1 -0
- package/dist/src/index.d.ts +10 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +265 -164
- package/dist/src/index.js.map +1 -1
- package/dist/src/sync/index.d.ts +9 -1
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/profile.d.ts +3 -0
- package/dist/src/sync/profile.d.ts.map +1 -0
- package/dist/src/sync/profile.js +2 -0
- package/dist/src/sync/profile.js.map +1 -0
- package/dist/src/sync/rateless-iblt.d.ts +25 -11
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.js +597 -106
- package/dist/src/sync/rateless-iblt.js.map +1 -1
- package/dist/src/sync/simple.d.ts +5 -0
- package/dist/src/sync/simple.d.ts.map +1 -1
- package/dist/src/sync/simple.js +224 -74
- package/dist/src/sync/simple.js.map +1 -1
- package/package.json +17 -13
- package/src/checked-prune.ts +331 -0
- package/src/index.ts +429 -282
- package/src/sync/index.ts +11 -1
- package/src/sync/profile.ts +9 -0
- package/src/sync/rateless-iblt.ts +768 -128
- package/src/sync/simple.ts +256 -94
package/dist/src/sync/index.d.ts
CHANGED
|
@@ -7,10 +7,13 @@ import type { EntryWithRefs } from "../exchange-heads.js";
|
|
|
7
7
|
import type { Numbers } from "../integers.js";
|
|
8
8
|
import type { TransportMessage } from "../message.js";
|
|
9
9
|
import type { EntryReplicated, ReplicationRangeIndexable } from "../ranges.js";
|
|
10
|
+
import type { SyncProfileFn } from "./profile.js";
|
|
11
|
+
export type { SyncProfileEvent, SyncProfileFn } from "./profile.js";
|
|
10
12
|
export type SyncPriorityFn<R extends "u32" | "u64"> = (entry: EntryReplicated<R>) => number;
|
|
11
13
|
export type SyncOptions<R extends "u32" | "u64"> = {
|
|
12
14
|
/**
|
|
13
|
-
*
|
|
15
|
+
* Orders entries inside a sync batch; higher numbers are selected first.
|
|
16
|
+
* This does not change the transport message priority/lane.
|
|
14
17
|
* The callback should be fast and side-effect free.
|
|
15
18
|
*/
|
|
16
19
|
priority?: SyncPriorityFn<R>;
|
|
@@ -39,6 +42,11 @@ export type SyncOptions<R extends "u32" | "u64"> = {
|
|
|
39
42
|
* Larger values reduce orchestration overhead but increase per-target memory.
|
|
40
43
|
*/
|
|
41
44
|
repairSweepTargetBufferSize?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Optional profiling callback. It is only invoked when provided, and should
|
|
47
|
+
* avoid blocking because it runs inside sync hot paths.
|
|
48
|
+
*/
|
|
49
|
+
profile?: SyncProfileFn;
|
|
42
50
|
};
|
|
43
51
|
export type SynchronizerComponents<R extends "u32" | "u64"> = {
|
|
44
52
|
rpc: RPC<TransportMessage, TransportMessage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { diagnosticStart as syncProfileStart, emitDiagnosticDuration as emitSyncProfileDuration, emitDiagnosticEvent as emitSyncProfileEvent, } from "@peerbit/diagnostics";
|
|
2
|
+
export type { DiagnosticEvent as SyncProfileEvent, DiagnosticSink as SyncProfileFn, } from "@peerbit/diagnostics";
|
|
3
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/sync/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,IAAI,gBAAgB,EACnC,sBAAsB,IAAI,uBAAuB,EACjD,mBAAmB,IAAI,oBAAoB,GAC3C,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACX,eAAe,IAAI,gBAAgB,EACnC,cAAc,IAAI,aAAa,GAC/B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/sync/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,IAAI,gBAAgB,EACnC,sBAAsB,IAAI,uBAAuB,EACjD,mBAAmB,IAAI,oBAAoB,GAC3C,MAAM,sBAAsB,CAAC"}
|
|
@@ -10,6 +10,11 @@ import type { RepairSession, RepairSessionMode, SyncableKey, SynchronizerCompone
|
|
|
10
10
|
import { SimpleSyncronizer } from "./simple.js";
|
|
11
11
|
export declare const logger: import("@libp2p/interface").Logger;
|
|
12
12
|
type NumberOrBigint = number | bigint;
|
|
13
|
+
export interface SSymbol {
|
|
14
|
+
count: bigint;
|
|
15
|
+
hash: bigint;
|
|
16
|
+
symbol: bigint;
|
|
17
|
+
}
|
|
13
18
|
declare class SymbolSerialized implements SSymbol {
|
|
14
19
|
count: bigint;
|
|
15
20
|
hash: bigint;
|
|
@@ -20,25 +25,39 @@ declare class SymbolSerialized implements SSymbol {
|
|
|
20
25
|
symbol: bigint;
|
|
21
26
|
});
|
|
22
27
|
}
|
|
28
|
+
type CodedSymbol = SSymbol | SymbolSerialized;
|
|
29
|
+
type CodedSymbolInput = CodedSymbolBatch | readonly CodedSymbol[] | BigUint64Array;
|
|
30
|
+
export declare class CodedSymbolBatch implements Iterable<CodedSymbol> {
|
|
31
|
+
private flat?;
|
|
32
|
+
private readonly symbols?;
|
|
33
|
+
private constructor();
|
|
34
|
+
static from(symbols: CodedSymbolInput): CodedSymbolBatch;
|
|
35
|
+
static fromFlat(flat: BigUint64Array): CodedSymbolBatch;
|
|
36
|
+
static fromSymbols(symbols: readonly CodedSymbol[]): CodedSymbolBatch;
|
|
37
|
+
get length(): number;
|
|
38
|
+
toFlat(): BigUint64Array;
|
|
39
|
+
toSymbols(): SymbolSerialized[];
|
|
40
|
+
[Symbol.iterator](): IterableIterator<CodedSymbol>;
|
|
41
|
+
}
|
|
23
42
|
export declare class StartSync extends TransportMessage {
|
|
24
43
|
syncId: Uint8Array;
|
|
25
44
|
start: bigint;
|
|
26
45
|
end: bigint;
|
|
27
|
-
symbols:
|
|
46
|
+
symbols: CodedSymbolBatch;
|
|
28
47
|
constructor(props: {
|
|
29
48
|
from: NumberOrBigint;
|
|
30
49
|
to: NumberOrBigint;
|
|
31
|
-
symbols:
|
|
50
|
+
symbols: CodedSymbolInput;
|
|
32
51
|
});
|
|
33
52
|
}
|
|
34
53
|
export declare class MoreSymbols extends TransportMessage {
|
|
35
54
|
syncId: Uint8Array;
|
|
36
55
|
seqNo: bigint;
|
|
37
|
-
symbols:
|
|
56
|
+
symbols: CodedSymbolBatch;
|
|
38
57
|
constructor(props: {
|
|
39
58
|
syncId: Uint8Array;
|
|
40
59
|
lastSeqNo: bigint;
|
|
41
|
-
symbols:
|
|
60
|
+
symbols: CodedSymbolInput;
|
|
42
61
|
});
|
|
43
62
|
}
|
|
44
63
|
export declare class RequestMoreSymbols extends TransportMessage {
|
|
@@ -55,11 +74,6 @@ export declare class RequestAll extends TransportMessage {
|
|
|
55
74
|
syncId: Uint8Array;
|
|
56
75
|
});
|
|
57
76
|
}
|
|
58
|
-
export interface SSymbol {
|
|
59
|
-
count: bigint;
|
|
60
|
-
hash: bigint;
|
|
61
|
-
symbol: bigint;
|
|
62
|
-
}
|
|
63
77
|
export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implements Syncronizer<D> {
|
|
64
78
|
readonly properties: SynchronizerComponents<D>;
|
|
65
79
|
simple: SimpleSyncronizer<D>;
|
|
@@ -74,7 +88,7 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
|
|
|
74
88
|
refresh: () => void;
|
|
75
89
|
process: (message: {
|
|
76
90
|
seqNo: bigint;
|
|
77
|
-
symbols:
|
|
91
|
+
symbols: CodedSymbolInput;
|
|
78
92
|
}) => Promise<boolean | undefined>;
|
|
79
93
|
free: () => void;
|
|
80
94
|
}>;
|
|
@@ -85,7 +99,7 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
|
|
|
85
99
|
refresh: () => void;
|
|
86
100
|
next: (message: {
|
|
87
101
|
lastSeqNo: bigint;
|
|
88
|
-
}) =>
|
|
102
|
+
}) => CodedSymbolBatch;
|
|
89
103
|
free: () => void;
|
|
90
104
|
}>;
|
|
91
105
|
constructor(properties: SynchronizerComponents<D>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"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"}
|