libp2p 0.35.7 → 0.35.8-bf1fc32

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.
Files changed (89) hide show
  1. package/dist/index.min.js +55 -0
  2. package/dist/src/circuit/auto-relay.d.ts +8 -10
  3. package/dist/src/circuit/auto-relay.d.ts.map +1 -1
  4. package/dist/src/connection-manager/auto-dialler.d.ts +1 -1
  5. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  6. package/dist/src/connection-manager/index.d.ts +1 -2
  7. package/dist/src/connection-manager/index.d.ts.map +1 -1
  8. package/dist/src/content-routing/utils.d.ts +3 -3
  9. package/dist/src/content-routing/utils.d.ts.map +1 -1
  10. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  11. package/dist/src/dialer/dial-request.d.ts.map +1 -1
  12. package/dist/src/dialer/index.d.ts +5 -5
  13. package/dist/src/dialer/index.d.ts.map +1 -1
  14. package/dist/src/identify/index.d.ts +4 -4
  15. package/dist/src/identify/index.d.ts.map +1 -1
  16. package/dist/src/index.d.ts +6 -6
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/metrics/index.d.ts +9 -4
  19. package/dist/src/metrics/index.d.ts.map +1 -1
  20. package/dist/src/metrics/tracked-map.d.ts +6 -1
  21. package/dist/src/metrics/tracked-map.d.ts.map +1 -1
  22. package/dist/src/peer-routing.d.ts +1 -1
  23. package/dist/src/peer-routing.d.ts.map +1 -1
  24. package/dist/src/peer-store/address-book.d.ts +28 -84
  25. package/dist/src/peer-store/address-book.d.ts.map +1 -1
  26. package/dist/src/peer-store/index.d.ts +25 -94
  27. package/dist/src/peer-store/index.d.ts.map +1 -1
  28. package/dist/src/peer-store/key-book.d.ts +31 -15
  29. package/dist/src/peer-store/key-book.d.ts.map +1 -1
  30. package/dist/src/peer-store/metadata-book.d.ts +33 -29
  31. package/dist/src/peer-store/metadata-book.d.ts.map +1 -1
  32. package/dist/src/peer-store/pb/peer.d.ts +222 -0
  33. package/dist/src/peer-store/proto-book.d.ts +27 -28
  34. package/dist/src/peer-store/proto-book.d.ts.map +1 -1
  35. package/dist/src/peer-store/store.d.ts +73 -0
  36. package/dist/src/peer-store/store.d.ts.map +1 -0
  37. package/dist/src/peer-store/types.d.ts +202 -0
  38. package/dist/src/peer-store/types.d.ts.map +1 -0
  39. package/dist/src/ping/index.d.ts.map +1 -1
  40. package/dist/src/record/peer-record/index.d.ts +2 -2
  41. package/dist/src/record/peer-record/index.d.ts.map +1 -1
  42. package/dist/src/registrar.d.ts +5 -5
  43. package/dist/src/registrar.d.ts.map +1 -1
  44. package/dist/src/upgrader.d.ts.map +1 -1
  45. package/package.json +18 -25
  46. package/src/circuit/auto-relay.js +19 -19
  47. package/src/connection-manager/auto-dialler.js +9 -4
  48. package/src/connection-manager/index.js +39 -22
  49. package/src/content-routing/utils.js +4 -4
  50. package/src/dht/dht-peer-routing.js +2 -6
  51. package/src/dialer/dial-request.js +4 -1
  52. package/src/dialer/index.js +22 -10
  53. package/src/identify/index.js +28 -23
  54. package/src/index.js +33 -27
  55. package/src/metrics/index.js +15 -8
  56. package/src/metrics/tracked-map.js +45 -13
  57. package/src/peer-routing.js +4 -1
  58. package/src/peer-store/address-book.js +242 -227
  59. package/src/peer-store/index.js +77 -110
  60. package/src/peer-store/key-book.js +99 -54
  61. package/src/peer-store/metadata-book.js +171 -101
  62. package/src/peer-store/pb/peer.d.ts +222 -0
  63. package/src/peer-store/pb/peer.js +643 -0
  64. package/src/peer-store/pb/peer.proto +31 -0
  65. package/src/peer-store/proto-book.js +171 -105
  66. package/src/peer-store/store.js +250 -0
  67. package/src/peer-store/types.ts +245 -0
  68. package/src/ping/index.js +6 -0
  69. package/src/record/peer-record/index.js +1 -1
  70. package/src/record/utils.js +1 -1
  71. package/src/registrar.js +4 -4
  72. package/src/upgrader.js +3 -1
  73. package/dist/src/peer-store/book.d.ts +0 -81
  74. package/dist/src/peer-store/book.d.ts.map +0 -1
  75. package/dist/src/peer-store/persistent/consts.d.ts +0 -6
  76. package/dist/src/peer-store/persistent/consts.d.ts.map +0 -1
  77. package/dist/src/peer-store/persistent/index.d.ts +0 -129
  78. package/dist/src/peer-store/persistent/index.d.ts.map +0 -1
  79. package/dist/src/peer-store/persistent/pb/address-book.d.ts +0 -198
  80. package/dist/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
  81. package/src/peer-store/book.js +0 -124
  82. package/src/peer-store/persistent/consts.js +0 -15
  83. package/src/peer-store/persistent/index.js +0 -408
  84. package/src/peer-store/persistent/pb/address-book.d.ts +0 -198
  85. package/src/peer-store/persistent/pb/address-book.js +0 -522
  86. package/src/peer-store/persistent/pb/address-book.proto +0 -27
  87. package/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
  88. package/src/peer-store/persistent/pb/proto-book.js +0 -157
  89. package/src/peer-store/persistent/pb/proto-book.proto +0 -5
@@ -6,18 +6,27 @@
6
6
  */
7
7
  class TrackedMap extends Map {
8
8
  /**
9
- * @param {string} component
10
- * @param {string} name
11
- * @param {import('.')} metrics
9
+ * @param {object} options
10
+ * @param {string} options.system
11
+ * @param {string} options.component
12
+ * @param {string} options.metric
13
+ * @param {import('.')} options.metrics
12
14
  */
13
- constructor (component, name, metrics) {
15
+ constructor (options) {
14
16
  super()
15
17
 
18
+ const { system, component, metric, metrics } = options
19
+ this._system = system
16
20
  this._component = component
17
- this._name = name
21
+ this._metric = metric
18
22
  this._metrics = metrics
19
23
 
20
- this._metrics.updateComponentMetric(this._component, this._name, this.size)
24
+ this._metrics.updateComponentMetric({
25
+ system: this._system,
26
+ component: this._component,
27
+ metric: this._metric,
28
+ value: this.size
29
+ })
21
30
  }
22
31
 
23
32
  /**
@@ -26,7 +35,12 @@ class TrackedMap extends Map {
26
35
  */
27
36
  set (key, value) {
28
37
  super.set(key, value)
29
- this._metrics.updateComponentMetric(this._component, this._name, this.size)
38
+ this._metrics.updateComponentMetric({
39
+ system: this._system,
40
+ component: this._component,
41
+ metric: this._metric,
42
+ value: this.size
43
+ })
30
44
  return this
31
45
  }
32
46
 
@@ -35,25 +49,43 @@ class TrackedMap extends Map {
35
49
  */
36
50
  delete (key) {
37
51
  const deleted = super.delete(key)
38
- this._metrics.updateComponentMetric(this._component, this._name, this.size)
52
+ this._metrics.updateComponentMetric({
53
+ system: this._system,
54
+ component: this._component,
55
+ metric: this._metric,
56
+ value: this.size
57
+ })
39
58
  return deleted
40
59
  }
60
+
61
+ clear () {
62
+ super.clear()
63
+
64
+ this._metrics.updateComponentMetric({
65
+ system: this._system,
66
+ component: this._component,
67
+ metric: this._metric,
68
+ value: this.size
69
+ })
70
+ }
41
71
  }
42
72
 
43
73
  /**
44
74
  * @template K
45
75
  * @template V
46
- * @param {string} component
47
- * @param {string} name
48
- * @param {import('.')} [metrics]
76
+ * @param {object} options
77
+ * @param {string} [options.system]
78
+ * @param {string} options.component
79
+ * @param {string} options.metric
80
+ * @param {import('.')} [options.metrics]
49
81
  * @returns {Map<K, V>}
50
82
  */
51
- module.exports = (component, name, metrics) => {
83
+ module.exports = ({ system = 'libp2p', component, metric, metrics }) => {
52
84
  /** @type {Map<K, V>} */
53
85
  let map
54
86
 
55
87
  if (metrics) {
56
- map = new TrackedMap(component, name, metrics)
88
+ map = new TrackedMap({ system, component, metric, metrics })
57
89
  } else {
58
90
  map = new Map()
59
91
  }
@@ -154,7 +154,10 @@ class PeerRouting {
154
154
  const controller = new TimeoutController(options.timeout)
155
155
  // this controller will potentially be used while dialing lots of
156
156
  // peers so prevent MaxListenersExceededWarning appearing in the console
157
- setMaxListeners && setMaxListeners(Infinity, controller.signal)
157
+ try {
158
+ // fails on node < 15.4
159
+ setMaxListeners && setMaxListeners(Infinity, controller.signal)
160
+ } catch {}
158
161
 
159
162
  options.signal = controller.signal
160
163
  }