mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-05-01 13:32:14 +00:00
chore: use any-signal module
This commit is contained in:
parent
7c2fefda46
commit
b7432bd02b
@ -43,6 +43,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abort-controller": "^3.0.0",
|
"abort-controller": "^3.0.0",
|
||||||
"aggregate-error": "^3.0.1",
|
"aggregate-error": "^3.0.1",
|
||||||
|
"any-signal": "^1.0.0",
|
||||||
"async": "^2.6.2",
|
"async": "^2.6.2",
|
||||||
"async-iterator-all": "^1.0.0",
|
"async-iterator-all": "^1.0.0",
|
||||||
"bignumber.js": "^9.0.0",
|
"bignumber.js": "^9.0.0",
|
||||||
|
@ -4,11 +4,11 @@ const multiaddr = require('multiaddr')
|
|||||||
const errCode = require('err-code')
|
const errCode = require('err-code')
|
||||||
const AbortController = require('abort-controller')
|
const AbortController = require('abort-controller')
|
||||||
const delay = require('delay')
|
const delay = require('delay')
|
||||||
|
const anySignal = require('any-signal')
|
||||||
const debug = require('debug')
|
const debug = require('debug')
|
||||||
const log = debug('libp2p:dialer')
|
const log = debug('libp2p:dialer')
|
||||||
log.error = debug('libp2p:dialer:error')
|
log.error = debug('libp2p:dialer:error')
|
||||||
const { DialRequest } = require('./dialer/dial-request')
|
const { DialRequest } = require('./dialer/dial-request')
|
||||||
const { anySignal } = require('./util')
|
|
||||||
|
|
||||||
const { codes } = require('./errors')
|
const { codes } = require('./errors')
|
||||||
const {
|
const {
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
const AbortController = require('abort-controller')
|
const AbortController = require('abort-controller')
|
||||||
const AggregateError = require('aggregate-error')
|
const AggregateError = require('aggregate-error')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
|
const anySignal = require('any-signal')
|
||||||
const debug = require('debug')
|
const debug = require('debug')
|
||||||
const log = debug('libp2p:dialer:request')
|
const log = debug('libp2p:dialer:request')
|
||||||
log.error = debug('libp2p:dialer:request:error')
|
log.error = debug('libp2p:dialer:request:error')
|
||||||
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
||||||
|
|
||||||
const { anySignal } = require('../util')
|
|
||||||
const { TokenHolder } = require('./token-holder')
|
const { TokenHolder } = require('./token-holder')
|
||||||
|
|
||||||
class DialRequest {
|
class DialRequest {
|
||||||
|
@ -15,34 +15,4 @@ function toBuffer (source) {
|
|||||||
})()
|
})()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Takes an array of AbortSignals and returns a single signal.
|
|
||||||
* If any signals are aborted, the returned signal will be aborted.
|
|
||||||
* @param {Array<AbortSignal>} signals
|
|
||||||
* @returns {AbortSignal}
|
|
||||||
*/
|
|
||||||
function anySignal (signals) {
|
|
||||||
const controller = new AbortController()
|
|
||||||
|
|
||||||
function onAbort () {
|
|
||||||
controller.abort()
|
|
||||||
|
|
||||||
// Cleanup
|
|
||||||
for (const signal of signals) {
|
|
||||||
signal.removeEventListener('abort', onAbort)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const signal of signals) {
|
|
||||||
if (signal.aborted) {
|
|
||||||
onAbort()
|
|
||||||
break
|
|
||||||
}
|
|
||||||
signal.addEventListener('abort', onAbort)
|
|
||||||
}
|
|
||||||
|
|
||||||
return controller.signal
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.toBuffer = toBuffer
|
module.exports.toBuffer = toBuffer
|
||||||
module.exports.anySignal = anySignal
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user