mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-03-16 13:50:55 +00:00
fix: improve close handling
This commit is contained in:
parent
57c731889c
commit
cd8935441c
@ -34,11 +34,12 @@
|
||||
"dependencies": {
|
||||
"mafmt": "^1.0.1",
|
||||
"multiaddr": "^1.1.1",
|
||||
"run-parallel": "^1.1.6",
|
||||
"simple-websocket": "github:diasdavid/simple-websocket#ec31437"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^3.5.0",
|
||||
"aegir": "^2.0.0",
|
||||
"aegir": "^3.0.1",
|
||||
"gulp": "^3.9.1",
|
||||
"interface-connection": "0.0.3",
|
||||
"interface-transport": "^0.1.1",
|
||||
@ -49,4 +50,4 @@
|
||||
"Francisco Baio Dias <xicombd@gmail.com>",
|
||||
"dignifiedquire <dignifiedquire@gmail.com>"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
13
src/index.js
13
src/index.js
@ -4,6 +4,7 @@ const debug = require('debug')
|
||||
const log = debug('libp2p:websockets')
|
||||
const SWS = require('simple-websocket')
|
||||
const mafmt = require('mafmt')
|
||||
const parallel = require('run-parallel')
|
||||
|
||||
exports = module.exports = WebSockets
|
||||
|
||||
@ -64,14 +65,10 @@ function WebSockets () {
|
||||
log('Called close with no active listeners')
|
||||
return callback()
|
||||
}
|
||||
var count = 0
|
||||
listeners.forEach((listener) => {
|
||||
listener.close(() => {
|
||||
if (++count === listeners.length) {
|
||||
callback()
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
parallel(listeners.map((listener) => {
|
||||
return (cb) => listener.close(cb)
|
||||
}), callback)
|
||||
}
|
||||
|
||||
this.filter = (multiaddrs) => {
|
||||
|
16
test/node.js
16
test/node.js
@ -20,9 +20,7 @@ describe('libp2p-websockets', function () {
|
||||
ws.createListener(mh, (socket) => {
|
||||
expect(socket).to.exist
|
||||
socket.end()
|
||||
ws.close(() => {
|
||||
done()
|
||||
})
|
||||
ws.close(done)
|
||||
}, () => {
|
||||
const conn = ws.dial(mh)
|
||||
conn.end()
|
||||
@ -45,9 +43,7 @@ describe('libp2p-websockets', function () {
|
||||
expect(socket).to.exist
|
||||
socket.end()
|
||||
expect(socket.getObservedAddrs()).to.deep.equal([])
|
||||
ws.close(() => {
|
||||
done()
|
||||
})
|
||||
ws.close(done)
|
||||
}, () => {
|
||||
const conn = ws.dial(mh)
|
||||
conn.end()
|
||||
@ -76,9 +72,7 @@ describe('libp2p-websockets', function () {
|
||||
conn.on('data', (data) => {
|
||||
expect(data.toString()).to.equal(message)
|
||||
conn.end()
|
||||
ws.close(() => {
|
||||
done()
|
||||
})
|
||||
ws.close(done)
|
||||
})
|
||||
})
|
||||
})
|
||||
@ -99,9 +93,7 @@ describe('libp2p-websockets', function () {
|
||||
conn.on('data', (data) => {
|
||||
expect(data.toString()).to.equal(message)
|
||||
conn.end()
|
||||
ws.close(() => {
|
||||
done()
|
||||
})
|
||||
ws.close(done)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user