mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 21:12:32 +00:00
fix: catch error from maConn.close (#128)
This commit is contained in:
parent
2bc2b36050
commit
0fe0815514
@ -13,6 +13,19 @@ const {
|
|||||||
multiaddrToNetConfig
|
multiaddrToNetConfig
|
||||||
} = require('./utils')
|
} = require('./utils')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to close the given maConn. If a failure occurs, it will be logged.
|
||||||
|
* @private
|
||||||
|
* @param {MultiaddrConnection} maConn
|
||||||
|
*/
|
||||||
|
async function attemptClose (maConn) {
|
||||||
|
try {
|
||||||
|
maConn && await maConn.close()
|
||||||
|
} catch (err) {
|
||||||
|
log.error('an error occurred closing the connection', err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = ({ handler, upgrader }, options) => {
|
module.exports = ({ handler, upgrader }, options) => {
|
||||||
const listener = new EventEmitter()
|
const listener = new EventEmitter()
|
||||||
|
|
||||||
@ -28,7 +41,7 @@ module.exports = ({ handler, upgrader }, options) => {
|
|||||||
conn = await upgrader.upgradeInbound(maConn)
|
conn = await upgrader.upgradeInbound(maConn)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.error('inbound connection failed', err)
|
log.error('inbound connection failed', err)
|
||||||
return maConn && maConn.close()
|
return attemptClose(maConn)
|
||||||
}
|
}
|
||||||
|
|
||||||
log('inbound connection %s upgraded', maConn.remoteAddr)
|
log('inbound connection %s upgraded', maConn.remoteAddr)
|
||||||
@ -51,7 +64,7 @@ module.exports = ({ handler, upgrader }, options) => {
|
|||||||
if (!server.listening) return
|
if (!server.listening) return
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
server.__connections.forEach(maConn => maConn.close())
|
server.__connections.forEach(maConn => attemptClose(maConn))
|
||||||
server.close(err => err ? reject(err) : resolve())
|
server.close(err => err ? reject(err) : resolve())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user