diff --git a/package.json b/package.json index 6a74c83..339b102 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,6 @@ "it-pipe": "^1.1.0", "it-pushable": "^1.4.0", "libp2p-crypto": "^0.18.0", - "libp2p-tcp": "^0.15.0", "multiaddr": "^8.0.0", "multibase": "^3.0.0", "p-defer": "^3.0.0", diff --git a/src/stream-muxer/tests/close-test.js b/src/stream-muxer/tests/close-test.js index a6d0e29..ec02cfe 100644 --- a/src/stream-muxer/tests/close-test.js +++ b/src/stream-muxer/tests/close-test.js @@ -5,14 +5,10 @@ const pair = require('it-pair/duplex') const pipe = require('it-pipe') const { consume } = require('streaming-iterables') -const Tcp = require('libp2p-tcp') -const multiaddr = require('multiaddr') const abortable = require('abortable-iterator') const AbortController = require('abort-controller') const uint8arrayFromString = require('uint8arrays/from-string') -const mh = multiaddr('/ip4/127.0.0.1/tcp/0') - function pause (ms) { return new Promise(resolve => setTimeout(resolve, ms)) } @@ -38,33 +34,31 @@ module.exports = (common) => { Muxer = await common.setup() }) - it('closing underlying socket closes streams (tcp)', async () => { + it('closing underlying socket closes streams', async () => { const mockConn = muxer => ({ newStream: (...args) => muxer.newStream(...args) }) - const mockUpgrade = () => maConn => { + const mockUpgrade = maConn => { const muxer = new Muxer(stream => pipe(stream, stream)) pipe(maConn, muxer, maConn) return mockConn(muxer) } - const mockUpgrader = () => ({ - upgradeInbound: mockUpgrade(), - upgradeOutbound: mockUpgrade() + const [local, remote] = pair() + const controller = new AbortController() + const abortableRemote = abortable.duplex(remote, controller.signal, { + returnOnAbort: true }) - const tcp = new Tcp({ upgrader: mockUpgrader() }) - const tcpListener = tcp.createListener() - - await tcpListener.listen(mh) - const dialerConn = await tcp.dial(tcpListener.getAddrs()[0]) + mockUpgrade(abortableRemote) + const dialerConn = mockUpgrade(local) const s1 = await dialerConn.newStream() const s2 = await dialerConn.newStream() - // close the listener in a bit - setTimeout(() => tcpListener.close(), 50) + // close the remote in a bit + setTimeout(() => controller.abort(), 50) const s1Result = pipe(infiniteRandom, s1, consume) const s2Result = pipe(infiniteRandom, s2, consume)