helia 7.0.4 → 7.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,kCAAkC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,oCAAoC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5U,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,OAAQ,YAAW,gBAAgB,EAAE,SAAS;IAClD,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;gBAErC,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW;IA6BvD,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,kCAAkC,CAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;IAmH3H;;;OAGG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,4BAA4B,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7F,eAAe,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnH;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjH;;;OAGG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAsCjH;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsChG;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,aAAa,CAAC,IAAI,CAAC;CA8BnI"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,kCAAkC,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,oCAAoC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5U,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,OAAQ,YAAW,gBAAgB,EAAE,SAAS;IAClD,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;gBAErC,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW;IA6BvD,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,kCAAkC,CAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;IAmH3H;;;OAGG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,4BAA4B,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7F,eAAe,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnH;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjH;;;OAGG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAkDjH;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDhG;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,cAAc,CAAC,oCAAoC,CAAM,GAAG,aAAa,CAAC,IAAI,CAAC;CA8BnI"}
@@ -1,7 +1,8 @@
1
1
  import { NoRoutersAvailableError } from '@helia/interface';
2
2
  import { GetFailedError } from '@helia/utils';
3
- import { NotFoundError, start, stop } from '@libp2p/interface';
3
+ import { NotFoundError, setMaxListeners, start, stop } from '@libp2p/interface';
4
4
  import { Queue } from '@libp2p/utils';
5
+ import { anySignal } from 'any-signal';
5
6
  import merge from 'it-merge';
6
7
  import { CustomProgressEvent } from 'progress-events';
7
8
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
@@ -74,7 +75,7 @@ export class Routing {
74
75
  .map(async function* (router) {
75
76
  let foundProviders = 0;
76
77
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:start', {
77
- routing: router.name,
78
+ router: router.name,
78
79
  cid: key
79
80
  }));
80
81
  try {
@@ -82,7 +83,7 @@ export class Routing {
82
83
  foundProviders++;
83
84
  // @ts-expect-error router.name is a string, needs to be specific
84
85
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:provider', {
85
- routing: router.name,
86
+ router: router.name,
86
87
  cid: key,
87
88
  provider: prov
88
89
  }));
@@ -95,7 +96,7 @@ export class Routing {
95
96
  finally {
96
97
  self.log('router %s found %d providers for %c', router, foundProviders, key);
97
98
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:end', {
98
- routing: router.name,
99
+ router: router.name,
99
100
  cid: key,
100
101
  found: foundProviders
101
102
  }));
@@ -128,7 +129,7 @@ export class Routing {
128
129
  return {
129
130
  ...provider,
130
131
  protocols: peer.protocols,
131
- routing: peer.routing
132
+ router: peer.router
132
133
  };
133
134
  }
134
135
  catch (err) {
@@ -160,12 +161,12 @@ export class Routing {
160
161
  await Promise.all(supports(this.routers, 'provide')
161
162
  .map(async (router) => {
162
163
  options?.onProgress?.(new CustomProgressEvent('helia:routing:provide:start', {
163
- routing: router.name,
164
+ router: router.name,
164
165
  cid: key
165
166
  }));
166
167
  await router.provide(key, options);
167
168
  options?.onProgress?.(new CustomProgressEvent('helia:routing:provide:end', {
168
- routing: router.name,
169
+ router: router.name,
169
170
  cid: key
170
171
  }));
171
172
  }));
@@ -174,12 +175,12 @@ export class Routing {
174
175
  await Promise.all(supports(this.routers, 'cancelReprovide')
175
176
  .map(async (router) => {
176
177
  options?.onProgress?.(new CustomProgressEvent('helia:routing:cancel-reprovide:start', {
177
- routing: router.name,
178
+ router: router.name,
178
179
  cid: key
179
180
  }));
180
181
  await router.cancelReprovide(key, options);
181
182
  options?.onProgress?.(new CustomProgressEvent('helia:routing:cancel-reprovide:end', {
182
- routing: router.name,
183
+ router: router.name,
183
184
  cid: key
184
185
  }));
185
186
  }));
@@ -191,13 +192,13 @@ export class Routing {
191
192
  await Promise.all(supports(this.routers, 'put')
192
193
  .map(async (router) => {
193
194
  options?.onProgress?.(new CustomProgressEvent('helia:routing:put:start', {
194
- routing: router.name,
195
+ router: router.name,
195
196
  key,
196
197
  value
197
198
  }));
198
199
  await router.put(key, value, options);
199
200
  options?.onProgress?.(new CustomProgressEvent('helia:routing:put:end', {
200
- routing: router.name,
201
+ router: router.name,
201
202
  key,
202
203
  value
203
204
  }));
@@ -210,15 +211,22 @@ export class Routing {
210
211
  async get(key, options) {
211
212
  const errors = [];
212
213
  let result;
214
+ // allow aborting other requests
215
+ const controller = new AbortController();
216
+ const signal = anySignal([controller.signal, options?.signal]);
217
+ setMaxListeners(Infinity, signal);
213
218
  try {
214
219
  result = await Promise.any(supports(this.routers, 'get')
215
220
  .map(async (router) => {
216
221
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get:start', {
217
- routing: router.name,
222
+ router: router.name,
218
223
  key
219
224
  }));
220
225
  try {
221
- return await router.get(key, options);
226
+ return await router.get(key, {
227
+ ...options,
228
+ signal
229
+ });
222
230
  }
223
231
  catch (err) {
224
232
  this.log('router %s failed with %e', router, err);
@@ -227,7 +235,7 @@ export class Routing {
227
235
  }
228
236
  finally {
229
237
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get:end', {
230
- routing: router.name,
238
+ router: router.name,
231
239
  key
232
240
  }));
233
241
  }
@@ -236,6 +244,11 @@ export class Routing {
236
244
  catch {
237
245
  // ignore AggregateError as we will throw a better-named one
238
246
  }
247
+ finally {
248
+ // abort any in-flight requests
249
+ controller.abort();
250
+ signal.clear();
251
+ }
239
252
  if (result == null) {
240
253
  throw new GetFailedError(errors, `Failed to get value key ${uint8ArrayToString(key, 'base58btc')}`);
241
254
  }
@@ -248,31 +261,45 @@ export class Routing {
248
261
  if (this.routers.length === 0) {
249
262
  throw new NoRoutersAvailableError('No peer routers available');
250
263
  }
264
+ // allow aborting other requests
265
+ const controller = new AbortController();
266
+ const signal = anySignal([controller.signal, options?.signal]);
267
+ setMaxListeners(Infinity, signal);
251
268
  const self = this;
252
269
  const source = merge(...supports(this.routers, 'findPeer')
253
270
  .map(router => (async function* () {
254
271
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-peer:start', {
255
- routing: router.name,
272
+ router: router.name,
256
273
  peerId: id
257
274
  }));
258
275
  try {
259
- yield await router.findPeer(id, options);
276
+ yield await router.findPeer(id, {
277
+ ...options,
278
+ signal
279
+ });
260
280
  }
261
281
  catch (err) {
262
282
  self.log.error(err);
263
283
  }
264
284
  finally {
265
285
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-peer:end', {
266
- routing: router.name,
286
+ router: router.name,
267
287
  peerId: id
268
288
  }));
269
289
  }
270
290
  })()));
271
- for await (const peer of source) {
272
- if (peer == null) {
273
- continue;
291
+ try {
292
+ for await (const peer of source) {
293
+ if (peer == null) {
294
+ continue;
295
+ }
296
+ return peer;
274
297
  }
275
- return peer;
298
+ }
299
+ finally {
300
+ // abort any in-flight requests
301
+ controller.abort();
302
+ signal.clear();
276
303
  }
277
304
  throw new NotFoundError('Could not find peer in routing');
278
305
  }
@@ -286,7 +313,7 @@ export class Routing {
286
313
  for await (const peer of merge(...supports(this.routers, 'getClosestPeers')
287
314
  .map(async function* (router) {
288
315
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get-closest-peers:start', {
289
- routing: router.name,
316
+ router: router.name,
290
317
  key
291
318
  }));
292
319
  try {
@@ -294,7 +321,7 @@ export class Routing {
294
321
  }
295
322
  finally {
296
323
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get-closest-peers:end', {
297
- routing: router.name,
324
+ router: router.name,
298
325
  key
299
326
  }));
300
327
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/routing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "7.0.4";
1
+ export declare const version = "7.0.5";
2
2
  export declare const name = "helia";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
- export const version = '7.0.4';
1
+ export const version = '7.0.5';
2
2
  export const name = 'helia';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helia",
3
- "version": "7.0.4",
3
+ "version": "7.0.5",
4
4
  "description": "An implementation of IPFS in JavaScript",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/helia#readme",
@@ -49,11 +49,11 @@
49
49
  "prepublishOnly": "node scripts/update-version.js && npm run build"
50
50
  },
51
51
  "dependencies": {
52
- "@helia/bitswap": "^4.0.4",
53
- "@helia/http": "^4.0.3",
54
- "@helia/interface": "^7.0.2",
55
- "@helia/libp2p": "^1.0.4",
56
- "@helia/utils": "^3.0.2",
52
+ "@helia/bitswap": "^4.0.5",
53
+ "@helia/http": "^4.0.4",
54
+ "@helia/interface": "^7.0.3",
55
+ "@helia/libp2p": "^1.0.5",
56
+ "@helia/utils": "^3.0.3",
57
57
  "@ipld/dag-cbor": "^10.0.1",
58
58
  "@ipld/dag-json": "^11.0.0",
59
59
  "@ipld/dag-pb": "^4.1.7",
package/src/routing.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { NoRoutersAvailableError } from '@helia/interface'
2
2
  import { GetFailedError } from '@helia/utils'
3
- import { NotFoundError, start, stop } from '@libp2p/interface'
3
+ import { NotFoundError, setMaxListeners, start, stop } from '@libp2p/interface'
4
4
  import { Queue } from '@libp2p/utils'
5
+ import { anySignal } from 'any-signal'
5
6
  import merge from 'it-merge'
6
7
  import { CustomProgressEvent } from 'progress-events'
7
8
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
@@ -107,7 +108,7 @@ export class Routing implements RoutingInterface, Startable {
107
108
  let foundProviders = 0
108
109
 
109
110
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:start', {
110
- routing: router.name,
111
+ router: router.name,
111
112
  cid: key
112
113
  }))
113
114
 
@@ -117,7 +118,7 @@ export class Routing implements RoutingInterface, Startable {
117
118
 
118
119
  // @ts-expect-error router.name is a string, needs to be specific
119
120
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:provider', {
120
- routing: router.name,
121
+ router: router.name,
121
122
  cid: key,
122
123
  provider: prov
123
124
  }))
@@ -130,7 +131,7 @@ export class Routing implements RoutingInterface, Startable {
130
131
  self.log('router %s found %d providers for %c', router, foundProviders, key)
131
132
 
132
133
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-providers:end', {
133
- routing: router.name,
134
+ router: router.name,
134
135
  cid: key,
135
136
  found: foundProviders
136
137
  }))
@@ -173,7 +174,7 @@ export class Routing implements RoutingInterface, Startable {
173
174
  return {
174
175
  ...provider,
175
176
  protocols: peer.protocols,
176
- routing: peer.routing
177
+ router: peer.router
177
178
  }
178
179
  } catch (err) {
179
180
  this.log.error('could not load multiaddrs for peer %p - %e', peer.id, err)
@@ -210,14 +211,14 @@ export class Routing implements RoutingInterface, Startable {
210
211
  supports(this.routers, 'provide')
211
212
  .map(async (router) => {
212
213
  options?.onProgress?.(new CustomProgressEvent('helia:routing:provide:start', {
213
- routing: router.name,
214
+ router: router.name,
214
215
  cid: key
215
216
  }))
216
217
 
217
218
  await router.provide(key, options)
218
219
 
219
220
  options?.onProgress?.(new CustomProgressEvent('helia:routing:provide:end', {
220
- routing: router.name,
221
+ router: router.name,
221
222
  cid: key
222
223
  }))
223
224
  })
@@ -229,14 +230,14 @@ export class Routing implements RoutingInterface, Startable {
229
230
  supports(this.routers, 'cancelReprovide')
230
231
  .map(async (router) => {
231
232
  options?.onProgress?.(new CustomProgressEvent('helia:routing:cancel-reprovide:start', {
232
- routing: router.name,
233
+ router: router.name,
233
234
  cid: key
234
235
  }))
235
236
 
236
237
  await router.cancelReprovide(key, options)
237
238
 
238
239
  options?.onProgress?.(new CustomProgressEvent('helia:routing:cancel-reprovide:end', {
239
- routing: router.name,
240
+ router: router.name,
240
241
  cid: key
241
242
  }))
242
243
  })
@@ -251,7 +252,7 @@ export class Routing implements RoutingInterface, Startable {
251
252
  supports(this.routers, 'put')
252
253
  .map(async (router) => {
253
254
  options?.onProgress?.(new CustomProgressEvent('helia:routing:put:start', {
254
- routing: router.name,
255
+ router: router.name,
255
256
  key,
256
257
  value
257
258
  }))
@@ -259,7 +260,7 @@ export class Routing implements RoutingInterface, Startable {
259
260
  await router.put(key, value, options)
260
261
 
261
262
  options?.onProgress?.(new CustomProgressEvent('helia:routing:put:end', {
262
- routing: router.name,
263
+ router: router.name,
263
264
  key,
264
265
  value
265
266
  }))
@@ -275,24 +276,32 @@ export class Routing implements RoutingInterface, Startable {
275
276
  const errors: Error[] = []
276
277
  let result: Uint8Array<ArrayBuffer> | undefined
277
278
 
279
+ // allow aborting other requests
280
+ const controller = new AbortController()
281
+ const signal = anySignal([controller.signal, options?.signal])
282
+ setMaxListeners(Infinity, signal)
283
+
278
284
  try {
279
285
  result = await Promise.any(
280
286
  supports(this.routers, 'get')
281
287
  .map(async (router) => {
282
288
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get:start', {
283
- routing: router.name,
289
+ router: router.name,
284
290
  key
285
291
  }))
286
292
 
287
293
  try {
288
- return await router.get(key, options)
294
+ return await router.get(key, {
295
+ ...options,
296
+ signal
297
+ })
289
298
  } catch (err: any) {
290
299
  this.log('router %s failed with %e', router, err)
291
300
  errors.push(err)
292
301
  throw err
293
302
  } finally {
294
303
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get:end', {
295
- routing: router.name,
304
+ router: router.name,
296
305
  key
297
306
  }))
298
307
  }
@@ -300,6 +309,10 @@ export class Routing implements RoutingInterface, Startable {
300
309
  )
301
310
  } catch {
302
311
  // ignore AggregateError as we will throw a better-named one
312
+ } finally {
313
+ // abort any in-flight requests
314
+ controller.abort()
315
+ signal.clear()
303
316
  }
304
317
 
305
318
  if (result == null) {
@@ -317,34 +330,48 @@ export class Routing implements RoutingInterface, Startable {
317
330
  throw new NoRoutersAvailableError('No peer routers available')
318
331
  }
319
332
 
333
+ // allow aborting other requests
334
+ const controller = new AbortController()
335
+ const signal = anySignal([controller.signal, options?.signal])
336
+ setMaxListeners(Infinity, signal)
337
+
320
338
  const self = this
321
339
  const source = merge(
322
340
  ...supports(this.routers, 'findPeer')
323
341
  .map(router => (async function * () {
324
342
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-peer:start', {
325
- routing: router.name,
343
+ router: router.name,
326
344
  peerId: id
327
345
  }))
328
346
 
329
347
  try {
330
- yield await router.findPeer(id, options)
348
+ yield await router.findPeer(id, {
349
+ ...options,
350
+ signal
351
+ })
331
352
  } catch (err) {
332
353
  self.log.error(err)
333
354
  } finally {
334
355
  options?.onProgress?.(new CustomProgressEvent('helia:routing:find-peer:end', {
335
- routing: router.name,
356
+ router: router.name,
336
357
  peerId: id
337
358
  }))
338
359
  }
339
360
  })())
340
361
  )
341
362
 
342
- for await (const peer of source) {
343
- if (peer == null) {
344
- continue
345
- }
363
+ try {
364
+ for await (const peer of source) {
365
+ if (peer == null) {
366
+ continue
367
+ }
346
368
 
347
- return peer
369
+ return peer
370
+ }
371
+ } finally {
372
+ // abort any in-flight requests
373
+ controller.abort()
374
+ signal.clear()
348
375
  }
349
376
 
350
377
  throw new NotFoundError('Could not find peer in routing')
@@ -362,7 +389,7 @@ export class Routing implements RoutingInterface, Startable {
362
389
  ...supports(this.routers, 'getClosestPeers')
363
390
  .map(async function * (router) {
364
391
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get-closest-peers:start', {
365
- routing: router.name,
392
+ router: router.name,
366
393
  key
367
394
  }))
368
395
 
@@ -370,7 +397,7 @@ export class Routing implements RoutingInterface, Startable {
370
397
  yield * router.getClosestPeers(key, options)
371
398
  } finally {
372
399
  options?.onProgress?.(new CustomProgressEvent('helia:routing:get-closest-peers:end', {
373
- routing: router.name,
400
+ router: router.name,
374
401
  key
375
402
  }))
376
403
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '7.0.4'
1
+ export const version = '7.0.5'
2
2
  export const name = 'helia'