@peerbit/shared-log 16.0.7 → 16.0.9
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/README.md +25 -1
- package/dist/src/index.d.ts +28 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +246 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/like.d.ts +3 -0
- package/dist/src/like.d.ts.map +1 -1
- package/dist/src/pid.js +4 -4
- package/dist/src/pid.js.map +1 -1
- package/dist/src/ranges.js +1 -1
- package/dist/src/ranges.js.map +1 -1
- package/dist/src/replication-status.d.ts +35 -0
- package/dist/src/replication-status.d.ts.map +1 -0
- package/dist/src/replication-status.js +37 -0
- package/dist/src/replication-status.js.map +1 -0
- package/dist/src/sync/factory.d.ts.map +1 -1
- package/dist/src/sync/factory.js +8 -2
- package/dist/src/sync/factory.js.map +1 -1
- package/dist/src/sync/index.d.ts +12 -0
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.d.ts +1 -0
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.js +67 -14
- package/dist/src/sync/rateless-iblt.js.map +1 -1
- package/dist/src/sync/simple.d.ts.map +1 -1
- package/dist/src/sync/simple.js +36 -10
- package/dist/src/sync/simple.js.map +1 -1
- package/package.json +18 -17
- package/src/index.ts +322 -6
- package/src/like.ts +3 -0
- package/src/pid.ts +4 -4
- package/src/ranges.ts +1 -1
- package/src/replication-status.ts +77 -0
- package/src/sync/factory.ts +11 -2
- package/src/sync/index.ts +14 -4
- package/src/sync/rateless-iblt.ts +81 -24
- package/src/sync/simple.ts +45 -14
package/dist/src/sync/factory.js
CHANGED
|
@@ -26,8 +26,14 @@ export function createSyncronizer(props) {
|
|
|
26
26
|
};
|
|
27
27
|
const resolveHashNumbersInRange = (range) => {
|
|
28
28
|
const nativeState = props.getNativeState();
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const limit = range.limit;
|
|
30
|
+
if (limit == null) {
|
|
31
|
+
return (nativeState?.getEntryHashNumbersInRangeU64?.(range) ??
|
|
32
|
+
nativeState?.getEntryHashNumbersInRange(range));
|
|
33
|
+
}
|
|
34
|
+
const limitedRange = { ...range, limit };
|
|
35
|
+
return (nativeState?.getEntryHashNumbersInRangeU64Limited?.(limitedRange) ??
|
|
36
|
+
nativeState?.getEntryHashNumbersInRangeLimited?.(limitedRange));
|
|
31
37
|
};
|
|
32
38
|
if (props.syncronizer) {
|
|
33
39
|
return new props.syncronizer({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/sync/factory.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA8B9D,MAAM,UAAU,iBAAiB,CAChC,KAAgC;IAEhC,MAAM,uBAAuB,GAAG,CAC/B,OAA2C,EAC1C,EAAE;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IACC,OAAO,cAAc,KAAK,WAAW;YACrC,OAAO,WAAW,CAAC,+BAA+B,KAAK,UAAU,EAChE,CAAC;YACF,OAAO,WAAW,CAAC,+BAA+B,CACjD,OAAO,YAAY,cAAc;gBAChC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CACjC,OAA2C,EAC1C,EAAE;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IACC,CAAC,WAAW;YACZ,OAAO,cAAc,KAAK,WAAW;YACrC,OAAO,WAAW,CAAC,iCAAiC,KAAK,UAAU,EAClE,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,WAAW,CAAC,iCAAiC,CACnD,OAAO,YAAY,cAAc;YAChC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/sync/factory.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AA8B9D,MAAM,UAAU,iBAAiB,CAChC,KAAgC;IAEhC,MAAM,uBAAuB,GAAG,CAC/B,OAA2C,EAC1C,EAAE;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IACC,OAAO,cAAc,KAAK,WAAW;YACrC,OAAO,WAAW,CAAC,+BAA+B,KAAK,UAAU,EAChE,CAAC;YACF,OAAO,WAAW,CAAC,+BAA+B,CACjD,OAAO,YAAY,cAAc;gBAChC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CACjC,OAA2C,EAC1C,EAAE;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IACC,CAAC,WAAW;YACZ,OAAO,cAAc,KAAK,WAAW;YACrC,OAAO,WAAW,CAAC,iCAAiC,KAAK,UAAU,EAClE,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,WAAW,CAAC,iCAAiC,CACnD,OAAO,YAAY,cAAc;YAChC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CAAC,KAMlC,EAAE,EAAE;QACJ,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,CACN,WAAW,EAAE,6BAA6B,EAAE,CAAC,KAAK,CAAC;gBACnD,WAAW,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAC9C,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;QACzC,OAAO,CACN,WAAW,EAAE,oCAAoC,EAAE,CAAC,YAAY,CAAC;YACjE,WAAW,EAAE,iCAAiC,EAAE,CAAC,YAAY,CAAC,CAC9D,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;YAC5D,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;YAChE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;SAChD,CAAC,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,8DAA8D;IAC9D,4EAA4E;IAC5E,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CACT,gEAAgE,CAChE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,wBAAwB,CAAI;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,uBAAuB;QACvB,yBAAyB;QACzB,yBAAyB;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;QAChE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KAChD,CAAmB,CAAC;AACtB,CAAC"}
|
package/dist/src/sync/index.d.ts
CHANGED
|
@@ -23,6 +23,13 @@ export type SyncOptions<R extends "u32" | "u64"> = {
|
|
|
23
23
|
* high-priority entries using the simple synchronizer.
|
|
24
24
|
*/
|
|
25
25
|
maxSimpleEntries?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum number of local entries materialized into the range encoder for
|
|
28
|
+
* one incoming rateless sync. Ranges above this limit fall back to bounded
|
|
29
|
+
* simple sync. Defaults to 16,384. This is a per-process entry cap, not an
|
|
30
|
+
* aggregate byte budget across concurrent syncs.
|
|
31
|
+
*/
|
|
32
|
+
maxRatelessReceiveRangeEntries?: number;
|
|
26
33
|
/**
|
|
27
34
|
* Maximum number of hash strings in one simple sync message.
|
|
28
35
|
*/
|
|
@@ -111,6 +118,11 @@ export type HashSymbolRangeResolver = (range: {
|
|
|
111
118
|
end1: bigint | number;
|
|
112
119
|
start2: bigint | number;
|
|
113
120
|
end2: bigint | number;
|
|
121
|
+
/**
|
|
122
|
+
* Maximum values to return, including any overflow sentinel. Omitted only by
|
|
123
|
+
* legacy custom synchronizers; built-in receive paths always provide it.
|
|
124
|
+
*/
|
|
125
|
+
limit?: number;
|
|
114
126
|
}) => Iterable<bigint | number> | undefined | Promise<Iterable<bigint | number> | undefined>;
|
|
115
127
|
export type SynchronizerComponents<R extends "u32" | "u64"> = {
|
|
116
128
|
rpc: RPC<TransportMessage, TransportMessage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,6 +161,7 @@ export declare class RatelessIBLTSynchronizer<D extends "u32" | "u64"> implement
|
|
|
161
161
|
private ratelessClosed;
|
|
162
162
|
constructor(properties: SynchronizerComponents<D>);
|
|
163
163
|
private get maxConvergentTrackedHashes();
|
|
164
|
+
private get maxRatelessReceiveRangeEntries();
|
|
164
165
|
private normalizeRetryIntervals;
|
|
165
166
|
private getPrioritizedEntries;
|
|
166
167
|
private isRatelessRepairSessionActive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,iBAAiB,CAAC;AAQ5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EACN,cAAc,EACd,cAAc,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAOjD,OAAO,KAAK,EAEX,aAAa,EACb,iBAAiB,EAEjB,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,MAAM,YAAY,CAAC;AAOpB,OAAO,EAIN,iBAAiB,EACjB,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,MAAM,oCAA0C,CAAC;AAE9D,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAKtC,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,cAAM,gBAAiB,YAAW,OAAO;IAExC,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAKlE;
|
|
1
|
+
{"version":3,"file":"rateless-iblt.d.ts","sourceRoot":"","sources":["../../../src/sync/rateless-iblt.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,11 @@ const CODED_SYMBOL_WORDS = 3;
|
|
|
84
84
|
const CODED_SYMBOL_WORD_BYTES = 8;
|
|
85
85
|
const CODED_SYMBOL_BYTES = CODED_SYMBOL_WORDS * CODED_SYMBOL_WORD_BYTES;
|
|
86
86
|
const MAX_CODED_SYMBOL_BATCH_SIZE = 1_024;
|
|
87
|
+
const DEFAULT_MAX_RATELESS_RECEIVE_RANGE_ENTRIES = 16_384;
|
|
88
|
+
const RATELESS_RANGE_QUERY_PAGE_SIZE = 1_024;
|
|
89
|
+
// Native range resolvers accept a u32 limit. Keep one value available as the
|
|
90
|
+
// overflow sentinel used to distinguish an exact fit from a larger range.
|
|
91
|
+
const MAX_RATELESS_RANGE_ENTRIES = 0xffff_fffe;
|
|
87
92
|
const BIG_UINT64_ARRAY_IS_LITTLE_ENDIAN = typeof BigUint64Array !== "undefined" &&
|
|
88
93
|
new Uint8Array(new BigUint64Array([1n]).buffer)[0] === 1;
|
|
89
94
|
const assertValidFlatCodedSymbols = (flat) => {
|
|
@@ -575,12 +580,13 @@ const matchEntriesByHashNumberInRangeQuery = (range) => {
|
|
|
575
580
|
]),
|
|
576
581
|
]);
|
|
577
582
|
};
|
|
578
|
-
const buildEncoderOrDecoderFromRange = async (ranges, entryIndex, type, profile, resolveHashNumbersInRange) => {
|
|
583
|
+
const buildEncoderOrDecoderFromRange = async (ranges, entryIndex, type, maxEntries, profile, resolveHashNumbersInRange) => {
|
|
579
584
|
await ribltReady;
|
|
580
585
|
const encoder = type === "encoder" ? new EncoderWrapper() : new DecoderWrapper();
|
|
581
586
|
let transferred = false;
|
|
582
587
|
try {
|
|
583
588
|
const rangeQueryStartedAt = syncProfileStart(profile);
|
|
589
|
+
const queryLimit = maxEntries + 1;
|
|
584
590
|
let hashNumbers;
|
|
585
591
|
let source = "index";
|
|
586
592
|
const resolved = await resolveHashNumbersInRange?.({
|
|
@@ -588,18 +594,38 @@ const buildEncoderOrDecoderFromRange = async (ranges, entryIndex, type, profile,
|
|
|
588
594
|
start1: ranges.start1,
|
|
589
595
|
end2: ranges.end2,
|
|
590
596
|
start2: ranges.start2,
|
|
597
|
+
limit: queryLimit,
|
|
591
598
|
});
|
|
592
599
|
if (resolved) {
|
|
593
600
|
source = "native";
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
601
|
+
if (typeof BigUint64Array !== "undefined" &&
|
|
602
|
+
resolved instanceof BigUint64Array) {
|
|
603
|
+
hashNumbers = resolved;
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
hashNumbers = [];
|
|
607
|
+
const iterator = resolved[Symbol.iterator]();
|
|
608
|
+
let exhausted = false;
|
|
609
|
+
try {
|
|
610
|
+
while (hashNumbers.length < queryLimit) {
|
|
611
|
+
const next = iterator.next();
|
|
612
|
+
if (next.done) {
|
|
613
|
+
exhausted = true;
|
|
614
|
+
break;
|
|
615
|
+
}
|
|
616
|
+
hashNumbers.push(next.value);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
finally {
|
|
620
|
+
if (!exhausted) {
|
|
621
|
+
iterator.return?.();
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
599
625
|
}
|
|
600
626
|
else {
|
|
601
|
-
const
|
|
602
|
-
|
|
627
|
+
const iterator = entryIndex.iterate({
|
|
628
|
+
consistency: "weak",
|
|
603
629
|
// Range sync for IBLT is done in hashNumber space.
|
|
604
630
|
query: matchEntriesByHashNumberInRangeQuery({
|
|
605
631
|
end1: ranges.end1,
|
|
@@ -612,18 +638,39 @@ const buildEncoderOrDecoderFromRange = async (ranges, entryIndex, type, profile,
|
|
|
612
638
|
hash: true,
|
|
613
639
|
hashNumber: true,
|
|
614
640
|
},
|
|
615
|
-
})
|
|
616
|
-
|
|
617
|
-
|
|
641
|
+
});
|
|
642
|
+
hashNumbers = [];
|
|
643
|
+
try {
|
|
644
|
+
while (hashNumbers.length < queryLimit) {
|
|
645
|
+
const remaining = queryLimit - hashNumbers.length;
|
|
646
|
+
const entries = await iterator.next(Math.min(RATELESS_RANGE_QUERY_PAGE_SIZE, remaining));
|
|
647
|
+
if (entries.length === 0) {
|
|
648
|
+
break;
|
|
649
|
+
}
|
|
650
|
+
for (const entry of entries) {
|
|
651
|
+
if (hashNumbers.length >= queryLimit) {
|
|
652
|
+
break;
|
|
653
|
+
}
|
|
654
|
+
hashNumbers.push(entry.value.hashNumber);
|
|
655
|
+
}
|
|
656
|
+
if (iterator.done()) {
|
|
657
|
+
break;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
finally {
|
|
662
|
+
await iterator.close();
|
|
663
|
+
}
|
|
618
664
|
}
|
|
665
|
+
const overflow = hashNumbers.length > maxEntries;
|
|
619
666
|
if (profile) {
|
|
620
667
|
emitSyncProfileDuration(profile, rangeQueryStartedAt, {
|
|
621
668
|
name: "rateless.rangeQuery",
|
|
622
669
|
entries: hashNumbers.length,
|
|
623
|
-
details: { type, source },
|
|
670
|
+
details: { type, source, overflow, maxEntries },
|
|
624
671
|
});
|
|
625
672
|
}
|
|
626
|
-
if (hashNumbers.length === 0) {
|
|
673
|
+
if (hashNumbers.length === 0 || overflow) {
|
|
627
674
|
return false;
|
|
628
675
|
}
|
|
629
676
|
const addSymbolsStartedAt = syncProfileStart(profile);
|
|
@@ -712,6 +759,12 @@ export class RatelessIBLTSynchronizer {
|
|
|
712
759
|
? Math.max(1, Math.floor(value))
|
|
713
760
|
: DEFAULT_MAX_CONVERGENT_TRACKED_HASHES;
|
|
714
761
|
}
|
|
762
|
+
get maxRatelessReceiveRangeEntries() {
|
|
763
|
+
const value = this.properties.sync?.maxRatelessReceiveRangeEntries;
|
|
764
|
+
return value && Number.isFinite(value) && value > 0
|
|
765
|
+
? Math.min(MAX_RATELESS_RANGE_ENTRIES, Math.max(1, Math.floor(value)))
|
|
766
|
+
: DEFAULT_MAX_RATELESS_RECEIVE_RANGE_ENTRIES;
|
|
767
|
+
}
|
|
715
768
|
normalizeRetryIntervals(retryIntervalsMs) {
|
|
716
769
|
if (!retryIntervalsMs || retryIntervalsMs.length === 0) {
|
|
717
770
|
return [...DEFAULT_CONVERGENT_RETRY_INTERVALS_MS];
|
|
@@ -1027,7 +1080,7 @@ export class RatelessIBLTSynchronizer {
|
|
|
1027
1080
|
}
|
|
1028
1081
|
const startedAt = syncProfileStart(profile);
|
|
1029
1082
|
const cacheVersion = this.localRangeEncoderCacheVersion;
|
|
1030
|
-
const encoder = (await buildEncoderOrDecoderFromRange(ranges, this.properties.entryIndex, "encoder", profile, this.properties.resolveHashNumbersInRange));
|
|
1083
|
+
const encoder = (await buildEncoderOrDecoderFromRange(ranges, this.properties.entryIndex, "encoder", this.maxRatelessReceiveRangeEntries, profile, this.properties.resolveHashNumbersInRange));
|
|
1031
1084
|
if (!encoder) {
|
|
1032
1085
|
if (profile) {
|
|
1033
1086
|
emitSyncProfileDuration(profile, startedAt, {
|