mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-07-02 00:41:34 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
562b3adf1f | |||
eac9129bc0 | |||
0fe0815514 |
10
CHANGELOG.md
10
CHANGELOG.md
@ -1,3 +1,13 @@
|
|||||||
|
<a name="0.14.5"></a>
|
||||||
|
## [0.14.5](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.4...v0.14.5) (2020-04-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* catch error from maConn.close ([#128](https://github.com/libp2p/js-libp2p-tcp/issues/128)) ([0fe0815](https://github.com/libp2p/js-libp2p-tcp/commit/0fe0815))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="0.14.4"></a>
|
<a name="0.14.4"></a>
|
||||||
## [0.14.4](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.3...v0.14.4) (2020-02-24)
|
## [0.14.4](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.3...v0.14.4) (2020-02-24)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libp2p-tcp",
|
"name": "libp2p-tcp",
|
||||||
"version": "0.14.4",
|
"version": "0.14.5",
|
||||||
"description": "Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces",
|
"description": "Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces",
|
||||||
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
|
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
|
@ -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())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user