@dxos/network-manager 0.6.9 → 0.6.10-main.bbdfaa4
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/lib/browser/{chunk-ZQ4OU7JZ.mjs → chunk-PYJZX7M6.mjs} +50 -18
- package/dist/lib/browser/{chunk-ZQ4OU7JZ.mjs.map → chunk-PYJZX7M6.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-IQBYIEAR.cjs → chunk-TAWXOS7X.cjs} +53 -21
- package/dist/lib/node/chunk-TAWXOS7X.cjs.map +7 -0
- package/dist/lib/node/index.cjs +28 -28
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +18 -18
- package/dist/types/src/topology/mmst-topology.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/topology/mmst-topology.ts +27 -6
- package/dist/lib/node/chunk-IQBYIEAR.cjs.map +0 -7
|
@@ -2458,7 +2458,6 @@ var FullyConnectedTopology = class {
|
|
|
2458
2458
|
};
|
|
2459
2459
|
|
|
2460
2460
|
// packages/core/mesh/network-manager/src/topology/mmst-topology.ts
|
|
2461
|
-
import distance from "xor-distance";
|
|
2462
2461
|
import { invariant as invariant8 } from "@dxos/invariant";
|
|
2463
2462
|
import { log as log9 } from "@dxos/log";
|
|
2464
2463
|
var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/topology/mmst-topology.ts";
|
|
@@ -2475,7 +2474,7 @@ var MMSTTopology = class {
|
|
|
2475
2474
|
init(controller) {
|
|
2476
2475
|
invariant8(!this._controller, "Already initialized", {
|
|
2477
2476
|
F: __dxlog_file10,
|
|
2478
|
-
L:
|
|
2477
|
+
L: 49,
|
|
2479
2478
|
S: this,
|
|
2480
2479
|
A: [
|
|
2481
2480
|
"!this._controller",
|
|
@@ -2487,7 +2486,7 @@ var MMSTTopology = class {
|
|
|
2487
2486
|
update() {
|
|
2488
2487
|
invariant8(this._controller, "Not initialized", {
|
|
2489
2488
|
F: __dxlog_file10,
|
|
2490
|
-
L:
|
|
2489
|
+
L: 54,
|
|
2491
2490
|
S: this,
|
|
2492
2491
|
A: [
|
|
2493
2492
|
"this._controller",
|
|
@@ -2498,7 +2497,7 @@ var MMSTTopology = class {
|
|
|
2498
2497
|
if (this._sampleCollected || connected.length > this._maxPeers || candidates.length > 0) {
|
|
2499
2498
|
log9("Running the algorithm.", void 0, {
|
|
2500
2499
|
F: __dxlog_file10,
|
|
2501
|
-
L:
|
|
2500
|
+
L: 58,
|
|
2502
2501
|
S: this,
|
|
2503
2502
|
C: (f, a) => f(...a)
|
|
2504
2503
|
});
|
|
@@ -2513,7 +2512,7 @@ var MMSTTopology = class {
|
|
|
2513
2512
|
async onOffer(peer) {
|
|
2514
2513
|
invariant8(this._controller, "Not initialized", {
|
|
2515
2514
|
F: __dxlog_file10,
|
|
2516
|
-
L:
|
|
2515
|
+
L: 70,
|
|
2517
2516
|
S: this,
|
|
2518
2517
|
A: [
|
|
2519
2518
|
"this._controller",
|
|
@@ -2524,7 +2523,7 @@ var MMSTTopology = class {
|
|
|
2524
2523
|
const accept = connected.length < this._maxPeers;
|
|
2525
2524
|
log9(`Offer ${peer} accept=${accept}`, void 0, {
|
|
2526
2525
|
F: __dxlog_file10,
|
|
2527
|
-
L:
|
|
2526
|
+
L: 73,
|
|
2528
2527
|
S: this,
|
|
2529
2528
|
C: (f, a) => f(...a)
|
|
2530
2529
|
});
|
|
@@ -2535,7 +2534,7 @@ var MMSTTopology = class {
|
|
|
2535
2534
|
_runAlgorithm() {
|
|
2536
2535
|
invariant8(this._controller, "Not initialized", {
|
|
2537
2536
|
F: __dxlog_file10,
|
|
2538
|
-
L:
|
|
2537
|
+
L: 82,
|
|
2539
2538
|
S: this,
|
|
2540
2539
|
A: [
|
|
2541
2540
|
"this._controller",
|
|
@@ -2546,14 +2545,14 @@ var MMSTTopology = class {
|
|
|
2546
2545
|
if (connected.length > this._maxPeers) {
|
|
2547
2546
|
log9(`disconnect ${connected.length - this._maxPeers} peers.`, void 0, {
|
|
2548
2547
|
F: __dxlog_file10,
|
|
2549
|
-
L:
|
|
2548
|
+
L: 88,
|
|
2550
2549
|
S: this,
|
|
2551
2550
|
C: (f, a) => f(...a)
|
|
2552
2551
|
});
|
|
2553
2552
|
const sorted = sortByXorDistance(connected, ownPeerId).reverse().slice(0, this._maxPeers - connected.length);
|
|
2554
2553
|
invariant8(sorted.length === 0, void 0, {
|
|
2555
2554
|
F: __dxlog_file10,
|
|
2556
|
-
L:
|
|
2555
|
+
L: 92,
|
|
2557
2556
|
S: this,
|
|
2558
2557
|
A: [
|
|
2559
2558
|
"sorted.length === 0",
|
|
@@ -2563,7 +2562,7 @@ var MMSTTopology = class {
|
|
|
2563
2562
|
if (sorted.length > MAX_CHANGES_PER_UPDATE) {
|
|
2564
2563
|
log9(`want to disconnect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`, void 0, {
|
|
2565
2564
|
F: __dxlog_file10,
|
|
2566
|
-
L:
|
|
2565
|
+
L: 95,
|
|
2567
2566
|
S: this,
|
|
2568
2567
|
C: (f, a) => f(...a)
|
|
2569
2568
|
});
|
|
@@ -2572,7 +2571,7 @@ var MMSTTopology = class {
|
|
|
2572
2571
|
for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
|
|
2573
2572
|
log9(`Disconnect ${peer}.`, void 0, {
|
|
2574
2573
|
F: __dxlog_file10,
|
|
2575
|
-
L:
|
|
2574
|
+
L: 100,
|
|
2576
2575
|
S: this,
|
|
2577
2576
|
C: (f, a) => f(...a)
|
|
2578
2577
|
});
|
|
@@ -2582,7 +2581,7 @@ var MMSTTopology = class {
|
|
|
2582
2581
|
} else {
|
|
2583
2582
|
log9("rate limited disconnect", void 0, {
|
|
2584
2583
|
F: __dxlog_file10,
|
|
2585
|
-
L:
|
|
2584
|
+
L: 105,
|
|
2586
2585
|
S: this,
|
|
2587
2586
|
C: (f, a) => f(...a)
|
|
2588
2587
|
});
|
|
@@ -2590,7 +2589,7 @@ var MMSTTopology = class {
|
|
|
2590
2589
|
} else if (connected.length < this._originateConnections) {
|
|
2591
2590
|
log9(`connect ${this._originateConnections - connected.length} peers.`, void 0, {
|
|
2592
2591
|
F: __dxlog_file10,
|
|
2593
|
-
L:
|
|
2592
|
+
L: 109,
|
|
2594
2593
|
S: this,
|
|
2595
2594
|
C: (f, a) => f(...a)
|
|
2596
2595
|
});
|
|
@@ -2599,7 +2598,7 @@ var MMSTTopology = class {
|
|
|
2599
2598
|
if (sorted.length > MAX_CHANGES_PER_UPDATE) {
|
|
2600
2599
|
log9(`want to connect ${sorted.length} peers but limited to ${MAX_CHANGES_PER_UPDATE}`, void 0, {
|
|
2601
2600
|
F: __dxlog_file10,
|
|
2602
|
-
L:
|
|
2601
|
+
L: 114,
|
|
2603
2602
|
S: this,
|
|
2604
2603
|
C: (f, a) => f(...a)
|
|
2605
2604
|
});
|
|
@@ -2608,7 +2607,7 @@ var MMSTTopology = class {
|
|
|
2608
2607
|
for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
|
|
2609
2608
|
log9(`Connect ${peer}.`, void 0, {
|
|
2610
2609
|
F: __dxlog_file10,
|
|
2611
|
-
L:
|
|
2610
|
+
L: 118,
|
|
2612
2611
|
S: this,
|
|
2613
2612
|
C: (f, a) => f(...a)
|
|
2614
2613
|
});
|
|
@@ -2618,7 +2617,7 @@ var MMSTTopology = class {
|
|
|
2618
2617
|
} else {
|
|
2619
2618
|
log9("rate limited connect", void 0, {
|
|
2620
2619
|
F: __dxlog_file10,
|
|
2621
|
-
L:
|
|
2620
|
+
L: 123,
|
|
2622
2621
|
S: this,
|
|
2623
2622
|
C: (f, a) => f(...a)
|
|
2624
2623
|
});
|
|
@@ -2629,7 +2628,40 @@ var MMSTTopology = class {
|
|
|
2629
2628
|
return "MMSTTopology";
|
|
2630
2629
|
}
|
|
2631
2630
|
};
|
|
2632
|
-
var sortByXorDistance = (keys, reference) =>
|
|
2631
|
+
var sortByXorDistance = (keys, reference) => {
|
|
2632
|
+
const sorted = keys.sort((a, b) => {
|
|
2633
|
+
return compareXor(distXor(a.asBuffer(), reference.asBuffer()), distXor(b.asBuffer(), reference.asBuffer()));
|
|
2634
|
+
});
|
|
2635
|
+
log9("Sorted keys", {
|
|
2636
|
+
keys,
|
|
2637
|
+
reference,
|
|
2638
|
+
sorted
|
|
2639
|
+
}, {
|
|
2640
|
+
F: __dxlog_file10,
|
|
2641
|
+
L: 137,
|
|
2642
|
+
S: void 0,
|
|
2643
|
+
C: (f, a) => f(...a)
|
|
2644
|
+
});
|
|
2645
|
+
return sorted;
|
|
2646
|
+
};
|
|
2647
|
+
var distXor = (a, b) => {
|
|
2648
|
+
const maxLength = Math.max(a.length, b.length);
|
|
2649
|
+
const result = Buffer2.allocUnsafe(maxLength);
|
|
2650
|
+
for (let i = 0; i < maxLength; i++) {
|
|
2651
|
+
result[i] = (a[i] || 0) ^ (b[i] || 0);
|
|
2652
|
+
}
|
|
2653
|
+
return result;
|
|
2654
|
+
};
|
|
2655
|
+
var compareXor = (a, b) => {
|
|
2656
|
+
const maxLength = Math.max(a.length, b.length);
|
|
2657
|
+
for (let i = 0; i < maxLength; i++) {
|
|
2658
|
+
if ((a[i] || 0) === (b[i] || 0)) {
|
|
2659
|
+
continue;
|
|
2660
|
+
}
|
|
2661
|
+
return (a[i] || 0) < (b[i] || 0) ? -1 : 1;
|
|
2662
|
+
}
|
|
2663
|
+
return 0;
|
|
2664
|
+
};
|
|
2633
2665
|
|
|
2634
2666
|
// packages/core/mesh/network-manager/src/topology/star-topology.ts
|
|
2635
2667
|
import { invariant as invariant9 } from "@dxos/invariant";
|
|
@@ -4184,4 +4216,4 @@ export {
|
|
|
4184
4216
|
TcpTransport,
|
|
4185
4217
|
createTeleportProtocolFactory
|
|
4186
4218
|
};
|
|
4187
|
-
//# sourceMappingURL=chunk-
|
|
4219
|
+
//# sourceMappingURL=chunk-PYJZX7M6.mjs.map
|