mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-05-25 19:11:19 +00:00
fix: address cr
This commit is contained in:
parent
4a121696d1
commit
2ed01e8f5b
@ -12,6 +12,7 @@ const contains = require('lodash.contains')
|
||||
exports = module.exports = TCP
|
||||
|
||||
const IPFS_CODE = 421
|
||||
const CLOSE_TIMEOUT = 300
|
||||
|
||||
function TCP () {
|
||||
if (!(this instanceof TCP)) {
|
||||
@ -97,8 +98,7 @@ function TCP () {
|
||||
}
|
||||
|
||||
this.close = (callback) => {
|
||||
const closeTimeout = 300
|
||||
|
||||
log('closing')
|
||||
if (listeners.length === 0) {
|
||||
log('Called close with no active listeners')
|
||||
return callback()
|
||||
@ -110,7 +110,7 @@ function TCP () {
|
||||
log('destroying %s', key)
|
||||
listener.__connections[key].destroy()
|
||||
})
|
||||
}, closeTimeout)
|
||||
}, CLOSE_TIMEOUT)
|
||||
|
||||
listener.close(cb)
|
||||
}), callback)
|
||||
|
@ -148,4 +148,35 @@ describe('libp2p-tcp', function () {
|
||||
expect(valid[0]).to.deep.equal(mh1)
|
||||
done()
|
||||
})
|
||||
|
||||
it('destroys after timeout', (done) => {
|
||||
const server = new TCPlibp2p()
|
||||
const mh = multiaddr('/ip4/127.0.0.1/tcp/9090')
|
||||
server.createListener(mh, (conn) => {
|
||||
const i = setInterval(() => {
|
||||
conn.read()
|
||||
conn.write('hi\n')
|
||||
}, 100)
|
||||
i.unref()
|
||||
}, () => {
|
||||
let connected = 0
|
||||
const connectHandler = () => {
|
||||
connected++
|
||||
if (connected === 10) {
|
||||
setTimeout(() => {
|
||||
server.close(done)
|
||||
}, 1)
|
||||
}
|
||||
}
|
||||
const errorHandler = () => {}
|
||||
|
||||
for (let i = 0; i < 10; i++) {
|
||||
const client = net.connect(9090)
|
||||
client.on('connect', connectHandler)
|
||||
|
||||
// just ignore the resets
|
||||
client.on('error', errorHandler)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user