@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.
@@ -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: 51,
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: 56,
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: 60,
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: 72,
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: 75,
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: 84,
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: 90,
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: 94,
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: 97,
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: 102,
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: 107,
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: 111,
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: 116,
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: 120,
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: 125,
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) => keys.sort((a, b) => distance.gt(distance(a.asBuffer(), reference.asBuffer()), distance(b.asBuffer(), reference.asBuffer())));
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-ZQ4OU7JZ.mjs.map
4219
+ //# sourceMappingURL=chunk-PYJZX7M6.mjs.map