@peerbit/shared-log 12.3.5 → 13.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/sync-batch-sweep.d.ts +2 -0
- package/dist/benchmark/sync-batch-sweep.d.ts.map +1 -0
- package/dist/benchmark/sync-batch-sweep.js +305 -0
- package/dist/benchmark/sync-batch-sweep.js.map +1 -0
- package/dist/src/fanout-envelope.d.ts +18 -0
- package/dist/src/fanout-envelope.d.ts.map +1 -0
- package/dist/src/fanout-envelope.js +85 -0
- package/dist/src/fanout-envelope.js.map +1 -0
- package/dist/src/index.d.ts +55 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1595 -339
- package/dist/src/index.js.map +1 -1
- package/dist/src/pid.d.ts.map +1 -1
- package/dist/src/pid.js +21 -5
- package/dist/src/pid.js.map +1 -1
- package/dist/src/ranges.d.ts +3 -1
- package/dist/src/ranges.d.ts.map +1 -1
- package/dist/src/ranges.js +14 -5
- package/dist/src/ranges.js.map +1 -1
- package/dist/src/sync/index.d.ts +45 -1
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.d.ts +13 -2
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.js +194 -3
- package/dist/src/sync/rateless-iblt.js.map +1 -1
- package/dist/src/sync/simple.d.ts +24 -3
- package/dist/src/sync/simple.d.ts.map +1 -1
- package/dist/src/sync/simple.js +330 -32
- package/dist/src/sync/simple.js.map +1 -1
- package/package.json +16 -16
- package/src/fanout-envelope.ts +27 -0
- package/src/index.ts +2162 -691
- package/src/pid.ts +22 -4
- package/src/ranges.ts +14 -4
- package/src/sync/index.ts +53 -1
- package/src/sync/rateless-iblt.ts +237 -4
- package/src/sync/simple.ts +427 -41
package/dist/src/sync/simple.js
CHANGED
|
@@ -162,6 +162,22 @@ const getHashesFromSymbols = async (symbols, entryIndex, coordinateToHash) => {
|
|
|
162
162
|
await handleBatch(true);
|
|
163
163
|
return results;
|
|
164
164
|
};
|
|
165
|
+
const DEFAULT_CONVERGENT_REPAIR_TIMEOUT_MS = 30_000;
|
|
166
|
+
const DEFAULT_CONVERGENT_RETRY_INTERVALS_MS = [0, 1_000, 3_000, 7_000];
|
|
167
|
+
const DEFAULT_BEST_EFFORT_RETRY_INTERVALS_MS = [0];
|
|
168
|
+
const SESSION_POLL_INTERVAL_MS = 100;
|
|
169
|
+
const DEFAULT_MAX_HASHES_PER_MESSAGE = 1_024;
|
|
170
|
+
const DEFAULT_MAX_COORDINATES_PER_MESSAGE = 1_024;
|
|
171
|
+
const DEFAULT_MAX_CONVERGENT_TRACKED_HASHES = 4_096;
|
|
172
|
+
const createDeferred = () => {
|
|
173
|
+
let resolve;
|
|
174
|
+
let reject;
|
|
175
|
+
const promise = new Promise((res, rej) => {
|
|
176
|
+
resolve = res;
|
|
177
|
+
reject = rej;
|
|
178
|
+
});
|
|
179
|
+
return { promise, resolve, reject };
|
|
180
|
+
};
|
|
165
181
|
export class SimpleSyncronizer {
|
|
166
182
|
// map of hash to public keys that we can ask for entries
|
|
167
183
|
syncInFlightQueue;
|
|
@@ -173,6 +189,8 @@ export class SimpleSyncronizer {
|
|
|
173
189
|
entryIndex;
|
|
174
190
|
coordinateToHash;
|
|
175
191
|
syncOptions;
|
|
192
|
+
repairSessionCounter;
|
|
193
|
+
repairSessions;
|
|
176
194
|
// Syncing and dedeplucation work
|
|
177
195
|
syncMoreInterval;
|
|
178
196
|
closed;
|
|
@@ -185,32 +203,292 @@ export class SimpleSyncronizer {
|
|
|
185
203
|
this.entryIndex = properties.entryIndex;
|
|
186
204
|
this.coordinateToHash = properties.coordinateToHash;
|
|
187
205
|
this.syncOptions = properties.sync;
|
|
206
|
+
this.repairSessionCounter = 0;
|
|
207
|
+
this.repairSessions = new Map();
|
|
188
208
|
}
|
|
189
|
-
|
|
190
|
-
let hashes;
|
|
209
|
+
getPrioritizedHashes(entries) {
|
|
191
210
|
const priorityFn = this.syncOptions?.priority;
|
|
192
|
-
if (priorityFn) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
211
|
+
if (!priorityFn) {
|
|
212
|
+
return [...entries.keys()];
|
|
213
|
+
}
|
|
214
|
+
let index = 0;
|
|
215
|
+
const scored = [];
|
|
216
|
+
for (const [hash, entry] of entries) {
|
|
217
|
+
const priorityValue = priorityFn(entry);
|
|
218
|
+
scored.push({
|
|
219
|
+
hash,
|
|
220
|
+
index,
|
|
221
|
+
priority: Number.isFinite(priorityValue) ? priorityValue : 0,
|
|
222
|
+
});
|
|
223
|
+
index += 1;
|
|
224
|
+
}
|
|
225
|
+
scored.sort((a, b) => b.priority - a.priority || a.index - b.index);
|
|
226
|
+
return scored.map((x) => x.hash);
|
|
227
|
+
}
|
|
228
|
+
normalizeRetryIntervals(mode, retryIntervalsMs) {
|
|
229
|
+
const defaults = mode === "convergent"
|
|
230
|
+
? DEFAULT_CONVERGENT_RETRY_INTERVALS_MS
|
|
231
|
+
: DEFAULT_BEST_EFFORT_RETRY_INTERVALS_MS;
|
|
232
|
+
if (!retryIntervalsMs || retryIntervalsMs.length === 0) {
|
|
233
|
+
return [...defaults];
|
|
234
|
+
}
|
|
235
|
+
return [...retryIntervalsMs]
|
|
236
|
+
.map((x) => Math.max(0, Math.floor(x)))
|
|
237
|
+
.filter((x, i, arr) => arr.indexOf(x) === i)
|
|
238
|
+
.sort((a, b) => a - b);
|
|
239
|
+
}
|
|
240
|
+
get maxHashesPerMessage() {
|
|
241
|
+
const value = this.syncOptions?.maxSimpleHashesPerMessage;
|
|
242
|
+
return value && Number.isFinite(value) && value > 0
|
|
243
|
+
? Math.floor(value)
|
|
244
|
+
: DEFAULT_MAX_HASHES_PER_MESSAGE;
|
|
245
|
+
}
|
|
246
|
+
get maxCoordinatesPerMessage() {
|
|
247
|
+
const value = this.syncOptions?.maxSimpleCoordinatesPerMessage;
|
|
248
|
+
return value && Number.isFinite(value) && value > 0
|
|
249
|
+
? Math.floor(value)
|
|
250
|
+
: DEFAULT_MAX_COORDINATES_PER_MESSAGE;
|
|
251
|
+
}
|
|
252
|
+
get maxConvergentTrackedHashes() {
|
|
253
|
+
const value = this.syncOptions?.maxConvergentTrackedHashes;
|
|
254
|
+
return value && Number.isFinite(value) && value > 0
|
|
255
|
+
? Math.floor(value)
|
|
256
|
+
: DEFAULT_MAX_CONVERGENT_TRACKED_HASHES;
|
|
257
|
+
}
|
|
258
|
+
chunk(values, size) {
|
|
259
|
+
if (values.length === 0) {
|
|
260
|
+
return [];
|
|
261
|
+
}
|
|
262
|
+
const out = [];
|
|
263
|
+
for (let i = 0; i < values.length; i += size) {
|
|
264
|
+
out.push(values.slice(i, i + size));
|
|
265
|
+
}
|
|
266
|
+
return out;
|
|
267
|
+
}
|
|
268
|
+
isRepairSessionComplete(session) {
|
|
269
|
+
for (const state of session.targets.values()) {
|
|
270
|
+
if (state.unresolved.size > 0) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
buildRepairSessionResult(session, completed) {
|
|
277
|
+
const durationMs = Date.now() - session.startedAt;
|
|
278
|
+
const out = [];
|
|
279
|
+
for (const [target, state] of session.targets) {
|
|
280
|
+
const unresolved = [...state.unresolved];
|
|
281
|
+
out.push({
|
|
282
|
+
target,
|
|
283
|
+
requested: state.requestedCount,
|
|
284
|
+
resolved: state.requestedCount - unresolved.length,
|
|
285
|
+
unresolved,
|
|
286
|
+
attempts: state.attempts,
|
|
287
|
+
durationMs,
|
|
288
|
+
completed,
|
|
289
|
+
requestedTotal: state.requestedTotalCount,
|
|
290
|
+
truncated: session.truncated,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
return out;
|
|
294
|
+
}
|
|
295
|
+
finalizeRepairSession(sessionId, completed) {
|
|
296
|
+
const session = this.repairSessions.get(sessionId);
|
|
297
|
+
if (!session) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
this.repairSessions.delete(sessionId);
|
|
301
|
+
session.cancelled = true;
|
|
302
|
+
if (session.timer) {
|
|
303
|
+
clearTimeout(session.timer);
|
|
304
|
+
}
|
|
305
|
+
session.deferred.resolve(this.buildRepairSessionResult(session, completed));
|
|
306
|
+
}
|
|
307
|
+
async refreshRepairSessionState(sessionId) {
|
|
308
|
+
const session = this.repairSessions.get(sessionId);
|
|
309
|
+
if (!session) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
for (const state of session.targets.values()) {
|
|
313
|
+
for (const hash of [...state.unresolved]) {
|
|
314
|
+
if (await this.log.has(hash)) {
|
|
315
|
+
state.unresolved.delete(hash);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
markRepairSessionResolvedHashes(hashes) {
|
|
321
|
+
if (hashes.length === 0 || this.repairSessions.size === 0) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
for (const [sessionId, session] of this.repairSessions) {
|
|
325
|
+
for (const state of session.targets.values()) {
|
|
326
|
+
for (const hash of hashes) {
|
|
327
|
+
state.unresolved.delete(hash);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (this.isRepairSessionComplete(session)) {
|
|
331
|
+
this.finalizeRepairSession(sessionId, true);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
async runRepairSession(sessionId) {
|
|
336
|
+
const session = this.repairSessions.get(sessionId);
|
|
337
|
+
if (!session) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
let previousDelay = 0;
|
|
341
|
+
for (const delayMs of session.retryIntervalsMs) {
|
|
342
|
+
if (!this.repairSessions.has(sessionId) || this.closed) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const waitMs = Math.max(0, delayMs - previousDelay);
|
|
346
|
+
previousDelay = delayMs;
|
|
347
|
+
if (waitMs > 0) {
|
|
348
|
+
await new Promise((resolve) => {
|
|
349
|
+
const timer = setTimeout(resolve, waitMs);
|
|
350
|
+
timer.unref?.();
|
|
201
351
|
});
|
|
202
|
-
index += 1;
|
|
203
352
|
}
|
|
204
|
-
|
|
205
|
-
|
|
353
|
+
if (!this.repairSessions.has(sessionId) || this.closed) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
await this.refreshRepairSessionState(sessionId);
|
|
357
|
+
const current = this.repairSessions.get(sessionId);
|
|
358
|
+
if (!current) {
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
if (this.isRepairSessionComplete(current)) {
|
|
362
|
+
this.finalizeRepairSession(sessionId, true);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
for (const [target, state] of current.targets) {
|
|
366
|
+
if (state.unresolved.size === 0) {
|
|
367
|
+
continue;
|
|
368
|
+
}
|
|
369
|
+
state.attempts += 1;
|
|
370
|
+
try {
|
|
371
|
+
await this.requestSync([...state.unresolved], [target]);
|
|
372
|
+
}
|
|
373
|
+
catch {
|
|
374
|
+
// Best-effort: keep unresolved and let retries/timeout determine outcome.
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
await this.refreshRepairSessionState(sessionId);
|
|
378
|
+
const afterSend = this.repairSessions.get(sessionId);
|
|
379
|
+
if (!afterSend) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
if (this.isRepairSessionComplete(afterSend)) {
|
|
383
|
+
this.finalizeRepairSession(sessionId, true);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
if (afterSend.mode === "best-effort") {
|
|
387
|
+
this.finalizeRepairSession(sessionId, false);
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
206
390
|
}
|
|
207
|
-
|
|
208
|
-
|
|
391
|
+
for (;;) {
|
|
392
|
+
if (!this.repairSessions.has(sessionId) || this.closed) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
await this.refreshRepairSessionState(sessionId);
|
|
396
|
+
const current = this.repairSessions.get(sessionId);
|
|
397
|
+
if (!current) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
if (this.isRepairSessionComplete(current)) {
|
|
401
|
+
this.finalizeRepairSession(sessionId, true);
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
await new Promise((resolve) => {
|
|
405
|
+
const timer = setTimeout(resolve, SESSION_POLL_INTERVAL_MS);
|
|
406
|
+
timer.unref?.();
|
|
407
|
+
});
|
|
209
408
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
409
|
+
}
|
|
410
|
+
startRepairSession(properties) {
|
|
411
|
+
const mode = properties.mode ?? "best-effort";
|
|
412
|
+
const startedAt = Date.now();
|
|
413
|
+
const timeoutMs = Math.max(1, Math.floor(properties.timeoutMs ??
|
|
414
|
+
(mode === "convergent"
|
|
415
|
+
? DEFAULT_CONVERGENT_REPAIR_TIMEOUT_MS
|
|
416
|
+
: DEFAULT_CONVERGENT_REPAIR_TIMEOUT_MS)));
|
|
417
|
+
const retryIntervalsMs = this.normalizeRetryIntervals(mode, properties.retryIntervalsMs);
|
|
418
|
+
const allHashes = this.getPrioritizedHashes(properties.entries);
|
|
419
|
+
const trackedHashes = mode === "convergent" && allHashes.length > this.maxConvergentTrackedHashes
|
|
420
|
+
? allHashes.slice(0, this.maxConvergentTrackedHashes)
|
|
421
|
+
: allHashes;
|
|
422
|
+
const truncated = trackedHashes.length < allHashes.length;
|
|
423
|
+
const targets = [...new Set(properties.targets)];
|
|
424
|
+
const id = `repair-${++this.repairSessionCounter}`;
|
|
425
|
+
const deferred = createDeferred();
|
|
426
|
+
const targetStates = new Map();
|
|
427
|
+
for (const target of targets) {
|
|
428
|
+
targetStates.set(target, {
|
|
429
|
+
unresolved: new Set(trackedHashes),
|
|
430
|
+
requestedCount: trackedHashes.length,
|
|
431
|
+
requestedTotalCount: allHashes.length,
|
|
432
|
+
attempts: 0,
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
const session = {
|
|
436
|
+
id,
|
|
437
|
+
mode,
|
|
438
|
+
startedAt,
|
|
439
|
+
timeoutMs,
|
|
440
|
+
retryIntervalsMs,
|
|
441
|
+
targets: targetStates,
|
|
442
|
+
truncated,
|
|
443
|
+
deferred,
|
|
444
|
+
cancelled: false,
|
|
445
|
+
};
|
|
446
|
+
if (allHashes.length === 0 || targets.length === 0) {
|
|
447
|
+
deferred.resolve(this.buildRepairSessionResult(session, true));
|
|
448
|
+
return {
|
|
449
|
+
id,
|
|
450
|
+
done: deferred.promise,
|
|
451
|
+
cancel: () => {
|
|
452
|
+
// no-op
|
|
453
|
+
},
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
// For capped convergent sessions, still dispatch the full set once so large
|
|
457
|
+
// repairs are not limited to tracked hashes.
|
|
458
|
+
if (mode === "convergent" && truncated) {
|
|
459
|
+
void this.onMaybeMissingEntries({
|
|
460
|
+
entries: properties.entries,
|
|
461
|
+
targets,
|
|
462
|
+
}).catch(() => {
|
|
463
|
+
// Best-effort: retries on tracked hashes continue via runRepairSession.
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
session.timer = setTimeout(() => {
|
|
467
|
+
this.finalizeRepairSession(id, false);
|
|
468
|
+
}, timeoutMs);
|
|
469
|
+
session.timer.unref?.();
|
|
470
|
+
this.repairSessions.set(id, session);
|
|
471
|
+
void this.runRepairSession(id).catch(() => {
|
|
472
|
+
this.finalizeRepairSession(id, false);
|
|
213
473
|
});
|
|
474
|
+
return {
|
|
475
|
+
id,
|
|
476
|
+
done: deferred.promise,
|
|
477
|
+
cancel: () => {
|
|
478
|
+
this.finalizeRepairSession(id, false);
|
|
479
|
+
},
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
onMaybeMissingEntries(properties) {
|
|
483
|
+
const hashes = this.getPrioritizedHashes(properties.entries);
|
|
484
|
+
const chunks = this.chunk(hashes, this.maxHashesPerMessage);
|
|
485
|
+
return chunks.reduce((promise, chunk) => promise.then(() => this.rpc.send(new RequestMaybeSync({ hashes: chunk }), {
|
|
486
|
+
priority: 1,
|
|
487
|
+
mode: new SilentDelivery({
|
|
488
|
+
to: properties.targets,
|
|
489
|
+
redundancy: 1,
|
|
490
|
+
}),
|
|
491
|
+
})), Promise.resolve());
|
|
214
492
|
}
|
|
215
493
|
async onMessage(msg, context) {
|
|
216
494
|
const from = context.from;
|
|
@@ -243,7 +521,9 @@ export class SimpleSyncronizer {
|
|
|
243
521
|
}
|
|
244
522
|
}
|
|
245
523
|
onReceivedEntries(properties) {
|
|
524
|
+
const resolvedHashes = [];
|
|
246
525
|
for (const entry of properties.entries) {
|
|
526
|
+
resolvedHashes.push(entry.entry.hash);
|
|
247
527
|
const set = this.syncInFlight.get(properties.from.hashcode());
|
|
248
528
|
if (set) {
|
|
249
529
|
set.delete(entry.entry.hash);
|
|
@@ -252,6 +532,7 @@ export class SimpleSyncronizer {
|
|
|
252
532
|
}
|
|
253
533
|
}
|
|
254
534
|
}
|
|
535
|
+
this.markRepairSessionResolvedHashes(resolvedHashes);
|
|
255
536
|
}
|
|
256
537
|
async queueSync(keys, from, options) {
|
|
257
538
|
const requestHashes = [];
|
|
@@ -295,12 +576,24 @@ export class SimpleSyncronizer {
|
|
|
295
576
|
}
|
|
296
577
|
}
|
|
297
578
|
const isBigInt = typeof hashes[0] === "bigint";
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
579
|
+
if (isBigInt) {
|
|
580
|
+
const chunks = this.chunk(hashes, this.maxCoordinatesPerMessage);
|
|
581
|
+
for (const chunk of chunks) {
|
|
582
|
+
await this.rpc.send(new RequestMaybeSyncCoordinate({ hashNumbers: chunk }), {
|
|
583
|
+
mode: new SilentDelivery({ to, redundancy: 1 }),
|
|
584
|
+
priority: 1,
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
const chunks = this.chunk(hashes, this.maxHashesPerMessage);
|
|
590
|
+
for (const chunk of chunks) {
|
|
591
|
+
await this.rpc.send(new ResponseMaybeSync({ hashes: chunk }), {
|
|
592
|
+
mode: new SilentDelivery({ to, redundancy: 1 }),
|
|
593
|
+
priority: 1,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
}
|
|
304
597
|
}
|
|
305
598
|
async checkHasCoordinateOrHash(key) {
|
|
306
599
|
return typeof key === "bigint"
|
|
@@ -373,10 +666,14 @@ export class SimpleSyncronizer {
|
|
|
373
666
|
this.syncInFlightQueue.clear();
|
|
374
667
|
this.syncInFlightQueueInverted.clear();
|
|
375
668
|
this.syncInFlight.clear();
|
|
669
|
+
for (const sessionId of [...this.repairSessions.keys()]) {
|
|
670
|
+
this.finalizeRepairSession(sessionId, false);
|
|
671
|
+
}
|
|
376
672
|
clearTimeout(this.syncMoreInterval);
|
|
377
673
|
}
|
|
378
674
|
onEntryAdded(entry) {
|
|
379
|
-
|
|
675
|
+
this.clearSyncProcess(entry.hash);
|
|
676
|
+
this.markRepairSessionResolvedHashes([entry.hash]);
|
|
380
677
|
}
|
|
381
678
|
onEntryRemoved(hash) {
|
|
382
679
|
return this.clearSyncProcess(hash);
|
|
@@ -397,16 +694,17 @@ export class SimpleSyncronizer {
|
|
|
397
694
|
}
|
|
398
695
|
}
|
|
399
696
|
onPeerDisconnected(key) {
|
|
400
|
-
|
|
697
|
+
const publicKeyHash = typeof key === "string" ? key : key.hashcode();
|
|
698
|
+
return this.clearSyncProcessPublicKeyHash(publicKeyHash);
|
|
401
699
|
}
|
|
402
|
-
|
|
403
|
-
this.syncInFlight.delete(
|
|
404
|
-
const map = this.syncInFlightQueueInverted.get(
|
|
700
|
+
clearSyncProcessPublicKeyHash(publicKeyHash) {
|
|
701
|
+
this.syncInFlight.delete(publicKeyHash);
|
|
702
|
+
const map = this.syncInFlightQueueInverted.get(publicKeyHash);
|
|
405
703
|
if (map) {
|
|
406
704
|
for (const hash of map) {
|
|
407
705
|
const arr = this.syncInFlightQueue.get(hash);
|
|
408
706
|
if (arr) {
|
|
409
|
-
const filtered = arr.filter((x) =>
|
|
707
|
+
const filtered = arr.filter((x) => x.hashcode() !== publicKeyHash);
|
|
410
708
|
if (filtered.length > 0) {
|
|
411
709
|
this.syncInFlightQueue.set(hash, filtered);
|
|
412
710
|
}
|
|
@@ -415,7 +713,7 @@ export class SimpleSyncronizer {
|
|
|
415
713
|
}
|
|
416
714
|
}
|
|
417
715
|
}
|
|
418
|
-
this.syncInFlightQueueInverted.delete(
|
|
716
|
+
this.syncInFlightQueueInverted.delete(publicKeyHash);
|
|
419
717
|
}
|
|
420
718
|
}
|
|
421
719
|
get pending() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../src/sync/simple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EACN,OAAO,EAEP,cAAc,EACd,EAAE,GACF,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACN,aAAa,EACb,2BAA2B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;IAKpC,gBAAgB;4BAD5B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;;sBACsB,gBAAgB;;;;gCAAxB,SAAQ,WAAgB;;;;kCACpD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KAQC;;;YARY,uDAAgB;;QAE5B,MAAM,yDAAW;QAEjB,YAAY,KAA2B;YACtC,KAAK,EAAE,CAAC;;YACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3B;;;;SAPW,gBAAgB;IAWhB,iBAAiB;4BAD7B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;;sBACuB,gBAAgB;;;;iCAAxB,SAAQ,WAAgB;;;;kCACrD,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KAQC;;;YARY,uDAAiB;;QAE7B,MAAM,yDAAW;QAEjB,YAAY,KAA2B;YACtC,KAAK,EAAE,CAAC;;YACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3B;;;;SAPW,iBAAiB;IAWjB,0BAA0B;4BADtC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;;sBACgC,gBAAgB;;;;0CAAxB,SAAQ,WAAgB;;;;uCAC9D,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,mLAAA,WAAW,6BAAX,WAAW,iGAAW;YAFvB,6KAQC;;;YARY,uDAA0B;;QAEtC,WAAW,8DAAW;QAEtB,YAAY,KAAgC;YAC3C,KAAK,EAAE,CAAC;;YACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;SACrC;;;;SAPW,0BAA0B;AAUvC,MAAM,oBAAoB,GAAG,KAAK,EACjC,OAAiB,EACjB,UAA4C,EAC5C,gBAA+B,EAC9B,EAAE;IACH,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,WAAW;IAChC,IAAI,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,UAAU;iBAC9B,OAAO,CACP,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EACzD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAC3C;iBACA,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,CAAC;YAEb,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS;QACV,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC;YACrC,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;SACjB,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,OAAO,iBAAiB;IAG7B,yDAAyD;IACzD,iBAAiB,CAAoC;IACrD,yBAAyB,CAAgC;IAEzD,4DAA4D;IAC5D,YAAY,CAAwD;IAEpE,GAAG,CAA0C;IAC7C,GAAG,CAAW;IACd,UAAU,CAAiC;IAC3C,gBAAgB,CAAgB;IACxB,WAAW,CAAkB;IAErC,iCAAiC;IACjC,gBAAgB,CAAiC;IAEjD,MAAM,CAAW;IAEjB,YAAY,UAMX;QACA,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,qBAAqB,CAAC,UAGrB;QACA,IAAI,MAAgB,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,MAAM,GAAwD,EAAE,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,KAAK;oBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC5D,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YACtD,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACd,GAAqB,EACrB,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;QAC3B,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YAC7C,6EAA6E;YAC7E,oEAAoE;YAEpE,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,2BAA2B,CACtD,IAAI,CAAC,GAAG,EACR,GAAG,CAAC,MAAM,CACV,EAAE,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC5B,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;iBAChE,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,YAAY,0BAA0B,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC,GAAG,CAAC,WAAW,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,2BAA2B,CACtD,IAAI,CAAC,GAAG,EACR,MAAM,CACN,EAAE,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC5B,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;oBAChE,8FAA8F;iBAC9F,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,0BAA0B;QACzC,CAAC;IACF,CAAC;IAED,iBAAiB,CAAC,UAGjB;QACA,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,IAAI,GAAG,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CACd,IAAyB,EACzB,IAAmB,EACnB,OAAiC;QAEjC,MAAM,aAAa,GAAkB,EAAE,CAAC;QAExC,KAAK,MAAM,gBAAgB,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC7D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;wBACrB,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC/D,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;iBAAM,IACN,OAAO,EAAE,SAAS;gBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EACvD,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACjD,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,0DAA0D;YACjG,CAAC;QACF,CAAC;QAED,aAAa,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAoC,EAAE;gBAC7D,IAAK,CAAC,QAAQ,EAAE;aAChB,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,WAAW,CACxB,MAA2B,EAC3B,EAA0B;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAE/C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,QAAQ;YACP,CAAC,CAAC,IAAI,0BAA0B,CAAC,EAAE,WAAW,EAAE,MAAkB,EAAE,CAAC;YACrE,CAAC,CAAC,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAkB,EAAE,CAAC,EACxD;YACC,IAAI,EAAE,IAAI,cAAc,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YAC/C,QAAQ,EAAE,CAAC;SACX,CACD,CAAC;IACH,CAAC;IACO,KAAK,CAAC,wBAAwB,CAAC,GAAoB;QAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YAClC;;;;;;eAMG;YAEH,MAAM,aAAa,GAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;gBACR,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBAErD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACV,gEAAgE;oBAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC,QAAQ,EAAE,CAAC;wBAChD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACxB,MAAM,WAAW,GAChB,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACnD,IAAI,WAAW,EAAE,CAAC;4BACjB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC7B,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oCAC5B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gCACtD,CAAC;4BACF,CAAC;wBACF,CAAC;oBACF,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC;oBACzE,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC;YACpC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,8BAA8B;gBAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;oBACzC,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;wBAC3B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;gBACF,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,aAAoC,EAAE,IAAI,CAAC,CAAC,OAAO,CACnE,GAAG,EAAE;gBACJ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;gBACR,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC,CACD,CAAC;QACH,CAAC,CAAC;QAEF,eAAe,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IACD,YAAY,CAAC,KAAiB;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACT,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,GAAkB;QACpC,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACO,yBAAyB,CAAC,SAAwB;QACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,GAAG,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACF,CAAC;YACF,CAAC;YACD,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACpC,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../src/sync/simple.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/shared-log",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Shared log",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -61,28 +61,28 @@
|
|
|
61
61
|
"pidusage": "^4.0.1",
|
|
62
62
|
"pino": "^9.4.0",
|
|
63
63
|
"uint8arrays": "^5.1.0",
|
|
64
|
-
"@peerbit/log": "5.0.10",
|
|
65
64
|
"@peerbit/logger": "2.0.0",
|
|
66
|
-
"@peerbit/
|
|
65
|
+
"@peerbit/log": "6.0.0",
|
|
66
|
+
"@peerbit/program": "6.0.0",
|
|
67
67
|
"@peerbit/riblt": "1.2.0",
|
|
68
|
-
"@peerbit/rpc": "
|
|
69
|
-
"@peerbit/
|
|
70
|
-
"@peerbit/
|
|
71
|
-
"@peerbit/blocks
|
|
72
|
-
"@peerbit/
|
|
73
|
-
"@peerbit/
|
|
74
|
-
"@peerbit/indexer-interface": "
|
|
75
|
-
"@peerbit/indexer-sqlite3": "
|
|
76
|
-
"@peerbit/
|
|
77
|
-
"@peerbit/
|
|
78
|
-
"@peerbit/
|
|
79
|
-
"@peerbit/
|
|
68
|
+
"@peerbit/rpc": "6.0.0",
|
|
69
|
+
"@peerbit/blocks-interface": "2.0.0",
|
|
70
|
+
"@peerbit/any-store": "2.2.5",
|
|
71
|
+
"@peerbit/blocks": "4.0.0",
|
|
72
|
+
"@peerbit/crypto": "3.0.0",
|
|
73
|
+
"@peerbit/cache": "3.0.0",
|
|
74
|
+
"@peerbit/indexer-interface": "3.0.0",
|
|
75
|
+
"@peerbit/indexer-sqlite3": "3.0.0",
|
|
76
|
+
"@peerbit/pubsub": "5.0.0",
|
|
77
|
+
"@peerbit/pubsub-interface": "5.0.0",
|
|
78
|
+
"@peerbit/time": "3.0.0",
|
|
79
|
+
"@peerbit/stream-interface": "6.0.0"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
83
83
|
"@types/pidusage": "^2.0.5",
|
|
84
84
|
"uuid": "^10.0.0",
|
|
85
|
-
"@peerbit/test-utils": "
|
|
85
|
+
"@peerbit/test-utils": "3.0.0"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"clean": "aegir clean",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { field, variant } from "@dao-xyz/borsh";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Application-level envelope for fanout-delivered shared-log messages.
|
|
5
|
+
*
|
|
6
|
+
* FanoutTree's data-plane forwarding makes the root the transport-level origin
|
|
7
|
+
* when proxy-publishing. Shared-log needs a stable publisher identity and
|
|
8
|
+
* timestamp regardless of which overlay hop forwarded the bytes.
|
|
9
|
+
*/
|
|
10
|
+
@variant(0)
|
|
11
|
+
export class FanoutEnvelope {
|
|
12
|
+
@field({ type: "string" })
|
|
13
|
+
from: string; // publisher publicKey hash
|
|
14
|
+
|
|
15
|
+
@field({ type: "u64" })
|
|
16
|
+
timestamp: bigint; // publisher-supplied timestamp
|
|
17
|
+
|
|
18
|
+
@field({ type: Uint8Array })
|
|
19
|
+
payload: Uint8Array; // serialized TransportMessage
|
|
20
|
+
|
|
21
|
+
constructor(props: { from: string; timestamp: bigint; payload: Uint8Array }) {
|
|
22
|
+
this.from = props.from;
|
|
23
|
+
this.timestamp = props.timestamp;
|
|
24
|
+
this.payload = props.payload;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|