From cf0e9a1a8f6a58d46e5a384374c73460fab205ec Mon Sep 17 00:00:00 2001 From: David Dias Date: Sun, 26 Jun 2016 21:13:39 +0100 Subject: [PATCH] use duplexify fork while PR is not up yet --- package.json | 5 ++-- test/libp2p-tcp.spec.js | 55 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) 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)