libp2p 0.43.3 → 0.43.4-20c8ed4b

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 (187) hide show
  1. package/dist/index.min.js +30 -30
  2. package/dist/src/autonat/index.d.ts +1 -2
  3. package/dist/src/autonat/index.d.ts.map +1 -1
  4. package/dist/src/autonat/index.js +1 -3
  5. package/dist/src/autonat/index.js.map +1 -1
  6. package/dist/src/circuit-relay/constants.d.ts.map +1 -0
  7. package/dist/src/circuit-relay/constants.js.map +1 -0
  8. package/dist/src/circuit-relay/index.d.ts.map +1 -0
  9. package/dist/src/circuit-relay/index.js.map +1 -0
  10. package/dist/src/circuit-relay/pb/index.d.ts.map +1 -0
  11. package/dist/src/circuit-relay/pb/index.js.map +1 -0
  12. package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -0
  13. package/dist/src/circuit-relay/server/advert-service.js.map +1 -0
  14. package/dist/src/circuit-relay/server/index.d.ts.map +1 -0
  15. package/dist/src/circuit-relay/server/index.js.map +1 -0
  16. package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -0
  17. package/dist/src/circuit-relay/server/reservation-store.js.map +1 -0
  18. package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +1 -0
  19. package/dist/src/circuit-relay/server/reservation-voucher.js.map +1 -0
  20. package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -0
  21. package/dist/src/circuit-relay/transport/discovery.js.map +1 -0
  22. package/dist/src/circuit-relay/transport/index.d.ts.map +1 -0
  23. package/dist/src/circuit-relay/transport/index.js.map +1 -0
  24. package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -0
  25. package/dist/src/circuit-relay/transport/listener.js.map +1 -0
  26. package/dist/src/{circuit → circuit-relay}/transport/reservation-store.d.ts +1 -1
  27. package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -0
  28. package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -0
  29. package/dist/src/circuit-relay/utils.d.ts.map +1 -0
  30. package/dist/src/{circuit → circuit-relay}/utils.js +3 -1
  31. package/dist/src/circuit-relay/utils.js.map +1 -0
  32. package/dist/src/components.d.ts +1 -6
  33. package/dist/src/components.d.ts.map +1 -1
  34. package/dist/src/components.js +0 -10
  35. package/dist/src/components.js.map +1 -1
  36. package/dist/src/config.d.ts.map +1 -1
  37. package/dist/src/config.js +0 -9
  38. package/dist/src/config.js.map +1 -1
  39. package/dist/src/connection-manager/auto-dial.d.ts +36 -0
  40. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -0
  41. package/dist/src/connection-manager/auto-dial.js +122 -0
  42. package/dist/src/connection-manager/auto-dial.js.map +1 -0
  43. package/dist/src/connection-manager/connection-pruner.d.ts +28 -0
  44. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -0
  45. package/dist/src/connection-manager/connection-pruner.js +96 -0
  46. package/dist/src/connection-manager/connection-pruner.js.map +1 -0
  47. package/dist/src/connection-manager/constants.d.ts +49 -0
  48. package/dist/src/connection-manager/constants.d.ts.map +1 -0
  49. package/dist/src/connection-manager/constants.js +49 -0
  50. package/dist/src/connection-manager/constants.js.map +1 -0
  51. package/dist/src/connection-manager/dial-queue.d.ts +77 -0
  52. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -0
  53. package/dist/src/connection-manager/dial-queue.js +366 -0
  54. package/dist/src/connection-manager/dial-queue.js.map +1 -0
  55. package/dist/src/connection-manager/index.d.ts +65 -69
  56. package/dist/src/connection-manager/index.d.ts.map +1 -1
  57. package/dist/src/connection-manager/index.js +116 -229
  58. package/dist/src/connection-manager/index.js.map +1 -1
  59. package/dist/src/connection-manager/utils.d.ts +9 -0
  60. package/dist/src/connection-manager/utils.d.ts.map +1 -0
  61. package/dist/src/connection-manager/utils.js +66 -0
  62. package/dist/src/connection-manager/utils.js.map +1 -0
  63. package/dist/src/content-routing/utils.js +1 -1
  64. package/dist/src/content-routing/utils.js.map +1 -1
  65. package/dist/src/get-peer.d.ts +6 -5
  66. package/dist/src/get-peer.d.ts.map +1 -1
  67. package/dist/src/get-peer.js +34 -12
  68. package/dist/src/get-peer.js.map +1 -1
  69. package/dist/src/identify/index.js +1 -1
  70. package/dist/src/identify/index.js.map +1 -1
  71. package/dist/src/index.d.ts +1 -1
  72. package/dist/src/index.d.ts.map +1 -1
  73. package/dist/src/libp2p.d.ts +13 -5
  74. package/dist/src/libp2p.d.ts.map +1 -1
  75. package/dist/src/libp2p.js +8 -12
  76. package/dist/src/libp2p.js.map +1 -1
  77. package/dist/src/upgrader.d.ts +1 -1
  78. package/dist/src/upgrader.d.ts.map +1 -1
  79. package/dist/src/upgrader.js +2 -1
  80. package/dist/src/upgrader.js.map +1 -1
  81. package/package.json +14 -14
  82. package/src/autonat/index.ts +2 -5
  83. package/src/{circuit → circuit-relay}/transport/reservation-store.ts +1 -1
  84. package/src/{circuit → circuit-relay}/utils.ts +3 -1
  85. package/src/components.ts +1 -17
  86. package/src/config.ts +0 -9
  87. package/src/connection-manager/auto-dial.ts +171 -0
  88. package/src/connection-manager/connection-pruner.ts +137 -0
  89. package/src/connection-manager/constants.ts +60 -0
  90. package/src/connection-manager/dial-queue.ts +504 -0
  91. package/src/connection-manager/index.ts +190 -319
  92. package/src/connection-manager/utils.ts +76 -0
  93. package/src/content-routing/utils.ts +1 -1
  94. package/src/get-peer.ts +45 -15
  95. package/src/identify/index.ts +1 -1
  96. package/src/index.ts +1 -1
  97. package/src/libp2p.ts +21 -17
  98. package/src/upgrader.ts +3 -2
  99. package/src/version.ts +1 -1
  100. package/dist/src/circuit/constants.d.ts.map +0 -1
  101. package/dist/src/circuit/constants.js.map +0 -1
  102. package/dist/src/circuit/index.d.ts.map +0 -1
  103. package/dist/src/circuit/index.js.map +0 -1
  104. package/dist/src/circuit/pb/index.d.ts.map +0 -1
  105. package/dist/src/circuit/pb/index.js.map +0 -1
  106. package/dist/src/circuit/server/advert-service.d.ts.map +0 -1
  107. package/dist/src/circuit/server/advert-service.js.map +0 -1
  108. package/dist/src/circuit/server/index.d.ts.map +0 -1
  109. package/dist/src/circuit/server/index.js.map +0 -1
  110. package/dist/src/circuit/server/reservation-store.d.ts.map +0 -1
  111. package/dist/src/circuit/server/reservation-store.js.map +0 -1
  112. package/dist/src/circuit/server/reservation-voucher.d.ts.map +0 -1
  113. package/dist/src/circuit/server/reservation-voucher.js.map +0 -1
  114. package/dist/src/circuit/transport/discovery.d.ts.map +0 -1
  115. package/dist/src/circuit/transport/discovery.js.map +0 -1
  116. package/dist/src/circuit/transport/index.d.ts.map +0 -1
  117. package/dist/src/circuit/transport/index.js.map +0 -1
  118. package/dist/src/circuit/transport/listener.d.ts.map +0 -1
  119. package/dist/src/circuit/transport/listener.js.map +0 -1
  120. package/dist/src/circuit/transport/reservation-store.d.ts.map +0 -1
  121. package/dist/src/circuit/transport/reservation-store.js.map +0 -1
  122. package/dist/src/circuit/utils.d.ts.map +0 -1
  123. package/dist/src/circuit/utils.js.map +0 -1
  124. package/dist/src/connection-manager/auto-dialler.d.ts +0 -42
  125. package/dist/src/connection-manager/auto-dialler.d.ts.map +0 -1
  126. package/dist/src/connection-manager/auto-dialler.js +0 -105
  127. package/dist/src/connection-manager/auto-dialler.js.map +0 -1
  128. package/dist/src/connection-manager/dialer/dial-request.d.ts +0 -27
  129. package/dist/src/connection-manager/dialer/dial-request.d.ts.map +0 -1
  130. package/dist/src/connection-manager/dialer/dial-request.js +0 -114
  131. package/dist/src/connection-manager/dialer/dial-request.js.map +0 -1
  132. package/dist/src/connection-manager/dialer/index.d.ts +0 -122
  133. package/dist/src/connection-manager/dialer/index.d.ts.map +0 -1
  134. package/dist/src/connection-manager/dialer/index.js +0 -321
  135. package/dist/src/connection-manager/dialer/index.js.map +0 -1
  136. package/dist/src/connection-manager/latency-monitor.d.ts +0 -120
  137. package/dist/src/connection-manager/latency-monitor.d.ts.map +0 -1
  138. package/dist/src/connection-manager/latency-monitor.js +0 -220
  139. package/dist/src/connection-manager/latency-monitor.js.map +0 -1
  140. package/dist/src/connection-manager/visibility-change-emitter.d.ts +0 -66
  141. package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +0 -1
  142. package/dist/src/connection-manager/visibility-change-emitter.js +0 -118
  143. package/dist/src/connection-manager/visibility-change-emitter.js.map +0 -1
  144. package/dist/src/constants.d.ts +0 -27
  145. package/dist/src/constants.d.ts.map +0 -1
  146. package/dist/src/constants.js +0 -31
  147. package/dist/src/constants.js.map +0 -1
  148. package/dist/typedoc-urls.json +0 -41
  149. package/src/connection-manager/auto-dialler.ts +0 -158
  150. package/src/connection-manager/dialer/dial-request.ts +0 -144
  151. package/src/connection-manager/dialer/index.ts +0 -457
  152. package/src/connection-manager/latency-monitor.ts +0 -319
  153. package/src/connection-manager/visibility-change-emitter.ts +0 -135
  154. package/src/constants.ts +0 -36
  155. /package/dist/src/{circuit → circuit-relay}/constants.d.ts +0 -0
  156. /package/dist/src/{circuit → circuit-relay}/constants.js +0 -0
  157. /package/dist/src/{circuit → circuit-relay}/index.d.ts +0 -0
  158. /package/dist/src/{circuit → circuit-relay}/index.js +0 -0
  159. /package/dist/src/{circuit → circuit-relay}/pb/index.d.ts +0 -0
  160. /package/dist/src/{circuit → circuit-relay}/pb/index.js +0 -0
  161. /package/dist/src/{circuit → circuit-relay}/server/advert-service.d.ts +0 -0
  162. /package/dist/src/{circuit → circuit-relay}/server/advert-service.js +0 -0
  163. /package/dist/src/{circuit → circuit-relay}/server/index.d.ts +0 -0
  164. /package/dist/src/{circuit → circuit-relay}/server/index.js +0 -0
  165. /package/dist/src/{circuit → circuit-relay}/server/reservation-store.d.ts +0 -0
  166. /package/dist/src/{circuit → circuit-relay}/server/reservation-store.js +0 -0
  167. /package/dist/src/{circuit → circuit-relay}/server/reservation-voucher.d.ts +0 -0
  168. /package/dist/src/{circuit → circuit-relay}/server/reservation-voucher.js +0 -0
  169. /package/dist/src/{circuit → circuit-relay}/transport/discovery.d.ts +0 -0
  170. /package/dist/src/{circuit → circuit-relay}/transport/discovery.js +0 -0
  171. /package/dist/src/{circuit → circuit-relay}/transport/index.d.ts +0 -0
  172. /package/dist/src/{circuit → circuit-relay}/transport/index.js +0 -0
  173. /package/dist/src/{circuit → circuit-relay}/transport/listener.d.ts +0 -0
  174. /package/dist/src/{circuit → circuit-relay}/transport/listener.js +0 -0
  175. /package/dist/src/{circuit → circuit-relay}/transport/reservation-store.js +0 -0
  176. /package/dist/src/{circuit → circuit-relay}/utils.d.ts +0 -0
  177. /package/src/{circuit → circuit-relay}/constants.ts +0 -0
  178. /package/src/{circuit → circuit-relay}/index.ts +0 -0
  179. /package/src/{circuit → circuit-relay}/pb/index.proto +0 -0
  180. /package/src/{circuit → circuit-relay}/pb/index.ts +0 -0
  181. /package/src/{circuit → circuit-relay}/server/advert-service.ts +0 -0
  182. /package/src/{circuit → circuit-relay}/server/index.ts +0 -0
  183. /package/src/{circuit → circuit-relay}/server/reservation-store.ts +0 -0
  184. /package/src/{circuit → circuit-relay}/server/reservation-voucher.ts +0 -0
  185. /package/src/{circuit → circuit-relay}/transport/discovery.ts +0 -0
  186. /package/src/{circuit → circuit-relay}/transport/index.ts +0 -0
  187. /package/src/{circuit → circuit-relay}/transport/listener.ts +0 -0
@@ -1,220 +0,0 @@
1
- /**
2
- * This code is based on `latency-monitor` (https://github.com/mlucool/latency-monitor) by `mlucool` (https://github.com/mlucool), available under Apache License 2.0 (https://github.com/mlucool/latency-monitor/blob/master/LICENSE)
3
- */
4
- import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
5
- import { VisibilityChangeEmitter } from './visibility-change-emitter.js';
6
- import { logger } from '@libp2p/logger';
7
- const log = logger('libp2p:connection-manager:latency-monitor');
8
- /**
9
- * A class to monitor latency of any async function which works in a browser or node. This works by periodically calling
10
- * the asyncTestFn and timing how long it takes the callback to be called. It can also periodically emit stats about this.
11
- * This can be disabled and stats can be pulled via setting dataEmitIntervalMs = 0.
12
- *
13
- * @extends {EventEmitter}
14
- *
15
- * The default implementation is an event loop latency monitor. This works by firing periodic events into the event loop
16
- * and timing how long it takes to get back.
17
- *
18
- * @example
19
- * const monitor = new LatencyMonitor();
20
- * monitor.on('data', (summary) => console.log('Event Loop Latency: %O', summary));
21
- *
22
- * @example
23
- * const monitor = new LatencyMonitor({latencyCheckIntervalMs: 1000, dataEmitIntervalMs: 60000, asyncTestFn:ping});
24
- * monitor.on('data', (summary) => console.log('Ping Pong Latency: %O', summary));
25
- */
26
- export class LatencyMonitor extends EventEmitter {
27
- constructor(init = {}) {
28
- super();
29
- const { latencyCheckIntervalMs, dataEmitIntervalMs, asyncTestFn, latencyRandomPercentage } = init;
30
- // 0 isn't valid here, so its ok to use ||
31
- this.latencyCheckIntervalMs = latencyCheckIntervalMs ?? 500; // 0.5s
32
- this.latencyRandomPercentage = latencyRandomPercentage ?? 10;
33
- this.latencyCheckMultiply = 2 * (this.latencyRandomPercentage / 100.0) * this.latencyCheckIntervalMs;
34
- this.latencyCheckSubtract = this.latencyCheckMultiply / 2;
35
- this.dataEmitIntervalMs = (dataEmitIntervalMs === null || dataEmitIntervalMs === 0)
36
- ? undefined
37
- : dataEmitIntervalMs ?? 5 * 1000; // 5s
38
- log('latencyCheckIntervalMs: %s dataEmitIntervalMs: %s', this.latencyCheckIntervalMs, this.dataEmitIntervalMs);
39
- if (this.dataEmitIntervalMs != null) {
40
- log('Expecting ~%s events per summary', this.latencyCheckIntervalMs / this.dataEmitIntervalMs);
41
- }
42
- else {
43
- log('Not emitting summaries');
44
- }
45
- this.asyncTestFn = asyncTestFn; // If there is no asyncFn, we measure latency
46
- // If process: use high resolution timer
47
- if (globalThis.process?.hrtime != null) {
48
- log('Using process.hrtime for timing');
49
- this.now = globalThis.process.hrtime; // eslint-disable-line no-undef
50
- this.getDeltaMS = (startTime) => {
51
- const hrtime = this.now(startTime);
52
- return (hrtime[0] * 1000) + (hrtime[1] / 1000000);
53
- };
54
- // Let's try for a timer that only monotonically increases
55
- }
56
- else if (typeof window !== 'undefined' && window.performance?.now != null) {
57
- log('Using performance.now for timing');
58
- this.now = window.performance.now.bind(window.performance);
59
- this.getDeltaMS = (startTime) => Math.round(this.now() - startTime);
60
- }
61
- else {
62
- log('Using Date.now for timing');
63
- this.now = Date.now;
64
- this.getDeltaMS = (startTime) => this.now() - startTime;
65
- }
66
- this.latencyData = this.initLatencyData();
67
- }
68
- start() {
69
- // We check for isBrowser because of browsers set max rates of timeouts when a page is hidden,
70
- // so we fall back to another library
71
- // See: http://stackoverflow.com/questions/6032429/chrome-timeouts-interval-suspended-in-background-tabs
72
- if (isBrowser()) {
73
- this.visibilityChangeEmitter = new VisibilityChangeEmitter();
74
- this.visibilityChangeEmitter.addEventListener('visibilityChange', (evt) => {
75
- const { detail: pageInFocus } = evt;
76
- if (pageInFocus) {
77
- this._startTimers();
78
- }
79
- else {
80
- this._emitSummary();
81
- this._stopTimers();
82
- }
83
- });
84
- }
85
- if (this.visibilityChangeEmitter?.isVisible() === true) {
86
- this._startTimers();
87
- }
88
- }
89
- stop() {
90
- this._stopTimers();
91
- }
92
- /**
93
- * Start internal timers
94
- *
95
- * @private
96
- */
97
- _startTimers() {
98
- // Timer already started, ignore this
99
- if (this.checkLatencyID != null) {
100
- return;
101
- }
102
- this.checkLatency();
103
- if (this.dataEmitIntervalMs != null) {
104
- this.emitIntervalID = setInterval(() => { this._emitSummary(); }, this.dataEmitIntervalMs);
105
- if (typeof this.emitIntervalID.unref === 'function') {
106
- this.emitIntervalID.unref(); // Doesn't block exit
107
- }
108
- }
109
- }
110
- /**
111
- * Stop internal timers
112
- *
113
- * @private
114
- */
115
- _stopTimers() {
116
- if (this.checkLatencyID != null) {
117
- clearTimeout(this.checkLatencyID);
118
- this.checkLatencyID = undefined;
119
- }
120
- if (this.emitIntervalID != null) {
121
- clearInterval(this.emitIntervalID);
122
- this.emitIntervalID = undefined;
123
- }
124
- }
125
- /**
126
- * Emit summary only if there were events. It might not have any events if it was forced via a page hidden/show
127
- *
128
- * @private
129
- */
130
- _emitSummary() {
131
- const summary = this.getSummary();
132
- if (summary.events > 0) {
133
- this.dispatchEvent(new CustomEvent('data', {
134
- detail: summary
135
- }));
136
- }
137
- }
138
- /**
139
- * Calling this function will end the collection period. If a timing event was already fired and somewhere in the queue,
140
- * it will not count for this time period
141
- */
142
- getSummary() {
143
- // We might want to adjust for the number of expected events
144
- // Example: first 1 event it comes back, then such a long blocker that the next emit check comes
145
- // Then this fires - looks like no latency!!
146
- const latency = {
147
- events: this.latencyData.events,
148
- minMs: this.latencyData.minMs,
149
- maxMs: this.latencyData.maxMs,
150
- avgMs: this.latencyData.events > 0
151
- ? this.latencyData.totalMs / this.latencyData.events
152
- : Number.POSITIVE_INFINITY,
153
- lengthMs: this.getDeltaMS(this.latencyData.startTime)
154
- };
155
- this.latencyData = this.initLatencyData(); // Clear
156
- log.trace('Summary: %O', latency);
157
- return latency;
158
- }
159
- /**
160
- * Randomly calls an async fn every roughly latencyCheckIntervalMs (plus some randomness). If no async fn is found,
161
- * it will simply report on event loop latency.
162
- */
163
- checkLatency() {
164
- // Randomness is needed to avoid alignment by accident to regular things in the event loop
165
- const randomness = (Math.random() * this.latencyCheckMultiply) - this.latencyCheckSubtract;
166
- // We use this to ensure that in case some overlap somehow, we don't take the wrong startTime/offset
167
- const localData = {
168
- deltaOffset: Math.ceil(this.latencyCheckIntervalMs + randomness),
169
- startTime: this.now()
170
- };
171
- const cb = () => {
172
- // We are already stopped, ignore this datapoint
173
- if (this.checkLatencyID == null) {
174
- return;
175
- }
176
- const deltaMS = this.getDeltaMS(localData.startTime) - localData.deltaOffset;
177
- this.checkLatency(); // Start again ASAP
178
- // Add the data point. If this gets complex, refactor it
179
- this.latencyData.events++;
180
- this.latencyData.minMs = Math.min(this.latencyData.minMs, deltaMS);
181
- this.latencyData.maxMs = Math.max(this.latencyData.maxMs, deltaMS);
182
- this.latencyData.totalMs += deltaMS;
183
- log.trace('MS: %s Data: %O', deltaMS, this.latencyData);
184
- };
185
- log.trace('localData: %O', localData);
186
- this.checkLatencyID = setTimeout(() => {
187
- // This gets rid of including event loop
188
- if (this.asyncTestFn != null) {
189
- // Clear timing related things
190
- localData.deltaOffset = 0;
191
- localData.startTime = this.now();
192
- this.asyncTestFn(cb);
193
- }
194
- else {
195
- // setTimeout is not more accurate than 1ms, so this will ensure positive numbers. Add 1 to emitted data to remove.
196
- // This is not the best, but for now it'll be just fine. This isn't meant to be sub ms accurate.
197
- localData.deltaOffset -= 1;
198
- // If there is no function to test, we mean check latency which is a special case that is really cb => cb()
199
- // We avoid that for the few extra function all overheads. Also, we want to keep the timers different
200
- cb();
201
- }
202
- }, localData.deltaOffset);
203
- if (typeof this.checkLatencyID.unref === 'function') {
204
- this.checkLatencyID.unref(); // Doesn't block exit
205
- }
206
- }
207
- initLatencyData() {
208
- return {
209
- startTime: this.now(),
210
- minMs: Number.POSITIVE_INFINITY,
211
- maxMs: Number.NEGATIVE_INFINITY,
212
- events: 0,
213
- totalMs: 0
214
- };
215
- }
216
- }
217
- function isBrowser() {
218
- return typeof globalThis.window !== 'undefined';
219
- }
220
- //# sourceMappingURL=latency-monitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"latency-monitor.js","sourceRoot":"","sources":["../../../src/connection-manager/latency-monitor.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- /**
2
- * This code is based on `latency-monitor` (https://github.com/mlucool/latency-monitor) by `mlucool` (https://github.com/mlucool), available under Apache License 2.0 (https://github.com/mlucool/latency-monitor/blob/master/LICENSE)
3
- */
4
- import { EventEmitter } from '@libp2p/interfaces/events';
5
- interface VisibilityChangeEmitterEvents {
6
- 'visibilityChange': CustomEvent<boolean>;
7
- }
8
- /**
9
- * Listen to page visibility change events (i.e. when the page is focused / blurred) by an event emitter.
10
- *
11
- * Warning: This does not work on all browsers, but should work on all modern browsers
12
- *
13
- * @example
14
- *
15
- * const myVisibilityEmitter = new VisibilityChangeEmitter();
16
- *
17
- * myVisibilityEmitter.on('visibilityChange', (pageInFocus) => {
18
- * if ( pageInFocus ){
19
- * // Page is in focus
20
- * console.log('In focus');
21
- * }
22
- * else {
23
- * // Page is blurred
24
- * console.log('Out of focus');
25
- * }
26
- * });
27
- * // To access the visibility state directly, call:
28
- * console.log('Am I focused now? ' + myVisibilityEmitter.isVisible());
29
- */
30
- export declare class VisibilityChangeEmitter extends EventEmitter<VisibilityChangeEmitterEvents> {
31
- private hidden;
32
- private visibilityChange;
33
- constructor();
34
- /**
35
- * document.hidden and document.visibilityChange are the two variables we need to check for;
36
- * Since these variables are named differently in different browsers, this function sets
37
- * the appropriate name based on the browser being used. Once executed, tha actual names of
38
- * document.hidden and document.visibilityChange are found in this._hidden and this._visibilityChange
39
- * respectively
40
- *
41
- * @private
42
- */
43
- _initializeVisibilityVarNames(): void;
44
- /**
45
- * Adds an event listener on the document that listens to changes in document.visibilityChange
46
- * (or whatever name by which the visibilityChange variable is known in the browser)
47
- *
48
- * @private
49
- */
50
- _addVisibilityChangeListener(): void;
51
- /**
52
- * The function returns ```true``` if the page is visible or ```false``` if the page is not visible and
53
- * ```undefined``` if the page visibility API is not supported by the browser.
54
- */
55
- isVisible(): boolean | undefined;
56
- /**
57
- * The function that is called when document.visibilityChange has changed
58
- * It emits an event called visibilityChange and sends the value of document.hidden as a
59
- * parameter
60
- *
61
- * @private
62
- */
63
- _handleVisibilityChange(): void;
64
- }
65
- export {};
66
- //# sourceMappingURL=visibility-change-emitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visibility-change-emitter.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/visibility-change-emitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKrE,UAAU,6BAA6B;IACrC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACzC;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,uBAAwB,SAAQ,YAAY,CAAC,6BAA6B,CAAC;IACtF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAAQ;;IAchC;;;;;;;;OAQG;IACH,6BAA6B,IAAK,IAAI;IAyBtC;;;;;OAKG;IACH,4BAA4B,IAAK,IAAI;IAUrC;;;OAGG;IACH,SAAS,IAAK,OAAO,GAAG,SAAS;IAUjC;;;;;;OAMG;IACH,uBAAuB,IAAK,IAAI;CAUjC"}
@@ -1,118 +0,0 @@
1
- /**
2
- * This code is based on `latency-monitor` (https://github.com/mlucool/latency-monitor) by `mlucool` (https://github.com/mlucool), available under Apache License 2.0 (https://github.com/mlucool/latency-monitor/blob/master/LICENSE)
3
- */
4
- import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
5
- import { logger } from '@libp2p/logger';
6
- const log = logger('libp2p:connection-manager:latency-monitor:visibility-change-emitter');
7
- /**
8
- * Listen to page visibility change events (i.e. when the page is focused / blurred) by an event emitter.
9
- *
10
- * Warning: This does not work on all browsers, but should work on all modern browsers
11
- *
12
- * @example
13
- *
14
- * const myVisibilityEmitter = new VisibilityChangeEmitter();
15
- *
16
- * myVisibilityEmitter.on('visibilityChange', (pageInFocus) => {
17
- * if ( pageInFocus ){
18
- * // Page is in focus
19
- * console.log('In focus');
20
- * }
21
- * else {
22
- * // Page is blurred
23
- * console.log('Out of focus');
24
- * }
25
- * });
26
- * // To access the visibility state directly, call:
27
- * console.log('Am I focused now? ' + myVisibilityEmitter.isVisible());
28
- */
29
- export class VisibilityChangeEmitter extends EventEmitter {
30
- constructor() {
31
- super();
32
- this.hidden = 'hidden';
33
- this.visibilityChange = 'visibilityChange';
34
- if (globalThis.document != null) {
35
- this._initializeVisibilityVarNames();
36
- this._addVisibilityChangeListener();
37
- }
38
- }
39
- /**
40
- * document.hidden and document.visibilityChange are the two variables we need to check for;
41
- * Since these variables are named differently in different browsers, this function sets
42
- * the appropriate name based on the browser being used. Once executed, tha actual names of
43
- * document.hidden and document.visibilityChange are found in this._hidden and this._visibilityChange
44
- * respectively
45
- *
46
- * @private
47
- */
48
- _initializeVisibilityVarNames() {
49
- let hidden = 'hidden';
50
- let visibilityChange = 'visibilitychange';
51
- if (typeof globalThis.document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support
52
- hidden = 'hidden';
53
- visibilityChange = 'visibilitychange';
54
- // @ts-expect-error mozHidden is a non-standard field name
55
- }
56
- else if (typeof globalThis.document.mozHidden !== 'undefined') {
57
- hidden = 'mozHidden';
58
- visibilityChange = 'mozvisibilitychange';
59
- // @ts-expect-error msHidden is a non-standard field name
60
- }
61
- else if (typeof globalThis.document.msHidden !== 'undefined') {
62
- hidden = 'msHidden';
63
- visibilityChange = 'msvisibilitychange';
64
- // @ts-expect-error webkitHidden is a non-standard field name
65
- }
66
- else if (typeof globalThis.document.webkitHidden !== 'undefined') {
67
- hidden = 'webkitHidden';
68
- visibilityChange = 'webkitvisibilitychange';
69
- }
70
- this.hidden = hidden;
71
- this.visibilityChange = visibilityChange;
72
- }
73
- /**
74
- * Adds an event listener on the document that listens to changes in document.visibilityChange
75
- * (or whatever name by which the visibilityChange variable is known in the browser)
76
- *
77
- * @private
78
- */
79
- _addVisibilityChangeListener() {
80
- // @ts-expect-error cannot index document object with string key
81
- if (typeof globalThis.document.addEventListener === 'undefined' || typeof document[this.hidden] === 'undefined') {
82
- log('Checking page visibility requires a browser that supports the Page Visibility API.');
83
- }
84
- else {
85
- // Handle page visibility change
86
- globalThis.document.addEventListener(this.visibilityChange, this._handleVisibilityChange.bind(this), false);
87
- }
88
- }
89
- /**
90
- * The function returns ```true``` if the page is visible or ```false``` if the page is not visible and
91
- * ```undefined``` if the page visibility API is not supported by the browser.
92
- */
93
- isVisible() {
94
- // @ts-expect-error cannot index document object with string key
95
- if (this.hidden === undefined || document[this.hidden] === undefined) {
96
- return undefined;
97
- }
98
- // @ts-expect-error cannot index document object with string key
99
- return document[this.hidden] == null;
100
- }
101
- /**
102
- * The function that is called when document.visibilityChange has changed
103
- * It emits an event called visibilityChange and sends the value of document.hidden as a
104
- * parameter
105
- *
106
- * @private
107
- */
108
- _handleVisibilityChange() {
109
- // @ts-expect-error cannot index document object with string key
110
- const visible = globalThis.document[this.hidden] === false;
111
- log(visible ? 'Page Visible' : 'Page Hidden');
112
- // Emit the event
113
- this.dispatchEvent(new CustomEvent('visibilityChange', {
114
- detail: visible
115
- }));
116
- }
117
- }
118
- //# sourceMappingURL=visibility-change-emitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visibility-change-emitter.js","sourceRoot":"","sources":["../../../src/connection-manager/visibility-change-emitter.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * How long in ms a dial attempt is allowed to take
3
- */
4
- export declare const DIAL_TIMEOUT = 30000;
5
- /**
6
- * How long in ms an inbound connection upgrade is allowed to take
7
- */
8
- export declare const INBOUND_UPGRADE_TIMEOUT = 30000;
9
- /**
10
- * Maximum allowed concurrent dials
11
- */
12
- export declare const MAX_PARALLEL_DIALS = 100;
13
- /**
14
- * Allowed parallel dials per DialRequest
15
- */
16
- export declare const MAX_PER_PEER_DIALS = 4;
17
- /**
18
- * Maximum number of allowed addresses to attempt to dial
19
- */
20
- export declare const MAX_ADDRS_TO_DIAL = 25;
21
- export declare const METRICS: {
22
- computeThrottleMaxQueueSize: number;
23
- computeThrottleTimeout: number;
24
- movingAverageIntervals: number[];
25
- maxOldPeersRetention: number;
26
- };
27
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,CAAA;AAEhC;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,eAAO,MAAM,OAAO;;;;;CASnB,CAAA"}
@@ -1,31 +0,0 @@
1
- /**
2
- * How long in ms a dial attempt is allowed to take
3
- */
4
- export const DIAL_TIMEOUT = 30e3;
5
- /**
6
- * How long in ms an inbound connection upgrade is allowed to take
7
- */
8
- export const INBOUND_UPGRADE_TIMEOUT = 30e3;
9
- /**
10
- * Maximum allowed concurrent dials
11
- */
12
- export const MAX_PARALLEL_DIALS = 100;
13
- /**
14
- * Allowed parallel dials per DialRequest
15
- */
16
- export const MAX_PER_PEER_DIALS = 4;
17
- /**
18
- * Maximum number of allowed addresses to attempt to dial
19
- */
20
- export const MAX_ADDRS_TO_DIAL = 25;
21
- export const METRICS = {
22
- computeThrottleMaxQueueSize: 1000,
23
- computeThrottleTimeout: 2000,
24
- movingAverageIntervals: [
25
- 60 * 1000,
26
- 5 * 60 * 1000,
27
- 15 * 60 * 1000 // 15 minutes
28
- ],
29
- maxOldPeersRetention: 50
30
- };
31
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,2BAA2B,EAAE,IAAI;IACjC,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE;QACtB,EAAE,GAAG,IAAI;QACT,CAAC,GAAG,EAAE,GAAG,IAAI;QACb,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa;KAC7B;IACD,oBAAoB,EAAE,EAAE;CACzB,CAAA"}
@@ -1,41 +0,0 @@
1
- {
2
- "codec": "https://libp2p.github.io/js-libp2p/functions/circuit._internal_.Limit.codec.html",
3
- "decode": "https://libp2p.github.io/js-libp2p/functions/circuit._internal_.Limit.decode.html",
4
- "encode": "https://libp2p.github.io/js-libp2p/functions/circuit._internal_.Limit.encode.html",
5
- "AdvertServiceComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.AdvertServiceComponents.html",
6
- "AdvertServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.AdvertServiceInit.html",
7
- "CircuitRelayServerComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.CircuitRelayServerComponents.html",
8
- "CircuitRelayServerInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.CircuitRelayServerInit.html",
9
- "CircuitRelayTransportComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.CircuitRelayTransportComponents.html",
10
- "CircuitRelayTransportInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.CircuitRelayTransportInit.html",
11
- "Limit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.Limit-1.html",
12
- "RelayDiscoveryComponents": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.RelayDiscoveryComponents.html",
13
- "RelayStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.RelayStoreInit.html",
14
- "ReservationStoreInit": "https://libp2p.github.io/js-libp2p/interfaces/circuit._internal_.ReservationStoreInit.html",
15
- "CircuitRelayService": "https://libp2p.github.io/js-libp2p/interfaces/circuit.CircuitRelayService.html",
16
- "CircuitRelayServiceEvents": "https://libp2p.github.io/js-libp2p/interfaces/circuit.CircuitRelayServiceEvents.html",
17
- "RelayReservation": "https://libp2p.github.io/js-libp2p/interfaces/circuit.RelayReservation.html",
18
- "circuitRelayServer": "https://libp2p.github.io/js-libp2p/functions/circuit.circuitRelayServer.html",
19
- "circuitRelayTransport": "https://libp2p.github.io/js-libp2p/functions/circuit.circuitRelayTransport.html",
20
- "AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AddressFilter.html",
21
- "AddressManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AddressManagerInit.html",
22
- "AutonatServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.AutonatServiceInit.html",
23
- "Components": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.Components.html",
24
- "ConnectionManagerConfig": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html",
25
- "FetchServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.FetchServiceInit.html",
26
- "HostProperties": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.HostProperties.html",
27
- "IdentifyServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.IdentifyServiceInit.html",
28
- "NatManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.NatManagerInit.html",
29
- "PeerRoutingInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.PeerRoutingInit.html",
30
- "PingServiceInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.PingServiceInit.html",
31
- "RefreshManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.RefreshManagerInit.html",
32
- "TransportManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/index._internal_.TransportManagerInit.html",
33
- "Libp2pEvents": "https://libp2p.github.io/js-libp2p/interfaces/index.Libp2pEvents.html",
34
- "Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/index.Libp2pInit.html",
35
- "Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/index.Libp2pOptions.html",
36
- "createLibp2p": "https://libp2p.github.io/js-libp2p/functions/index.createLibp2p.html",
37
- "plaintext": "https://libp2p.github.io/js-libp2p/functions/insecure.plaintext.html",
38
- "ProtectorInit": "https://libp2p.github.io/js-libp2p/interfaces/pnet.ProtectorInit.html",
39
- "generateKey": "https://libp2p.github.io/js-libp2p/functions/pnet.generateKey.html",
40
- "preSharedKey": "https://libp2p.github.io/js-libp2p/functions/pnet.preSharedKey.html"
41
- }