diff --git a/package.json b/package.json index 8e41d7d..e9dfb11 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,7 @@ "tape": "^4.5.1" }, "dependencies": { - "duplexify": "^3.4.3", - "interface-connection": "0.1.2", + "interface-connection": "0.1.6", "ip-address": "^5.8.0", "lodash.contains": "^2.4.3", "mafmt": "^2.1.0", @@ -54,4 +53,4 @@ "Stephen Whitmore ", "dignifiedquire " ] -} \ No newline at end of file +} diff --git a/test/libp2p-tcp.spec.js b/test/libp2p-tcp.spec.js index 28cf776..d94c759 100644 --- a/test/libp2p-tcp.spec.js +++ b/test/libp2p-tcp.spec.js @@ -243,6 +243,61 @@ describe('dial', () => { } }) + it('dial and destroy on listener', (done) => { + let count = 0 + const closed = () => ++count === 2 ? finish() : null + + const ma = multiaddr('/ip6/::/tcp/9067') + + const listener = tcp.createListener((conn) => { + conn.on('close', closed) + conn.destroy() + }) + + listener.listen(ma, dialStep) + + function dialStep () { + const conn = tcp.dial(ma) + conn.on('close', closed) + } + + function finish () { + listener.close(done) + } + }) + + it('dial and destroy on dialer', (done) => { + let count = 0 + const destroyed = () => ++count === 2 ? finish() : null + + const ma = multiaddr('/ip6/::/tcp/9068') + + const listener = tcp.createListener((conn) => { + conn.on('close', () => { + console.log('closed on the listener socket') + destroyed() + }) + }) + + listener.listen(ma, dialStep) + + function dialStep () { + const conn = tcp.dial(ma) + conn.on('close', () => { + console.log('closed on the dialer socket') + destroyed() + }) + conn.resume() + setTimeout(() => { + conn.destroy() + }, 10) + } + + function finish () { + listener.close(done) + } + }) + it('dial on IPv4 with IPFS Id', (done) => { const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw') const conn = tcp.dial(ma)