Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 50ae06d

Browse files
committed
feat(pubsub): update to new floodsub
1 parent 9371b67 commit 50ae06d

File tree

5 files changed

+27
-151
lines changed

5 files changed

+27
-151
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
"ipfs-unixfs-engine": "^0.14.2",
104104
"ipld-resolver": "^0.4.1",
105105
"isstream": "^0.1.2",
106-
"libp2p-floodsub": "0.6.0",
106+
"libp2p-floodsub": "0.7.0",
107107
"joi": "^10.0.6",
108108
"libp2p-ipfs-nodejs": "^0.17.1",
109109
"libp2p-ipfs-browser": "^0.17.3",

src/core/components/go-offline.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
'use strict'
22

33
module.exports = (self) => {
4-
return (cb) => {
4+
return (callback) => {
55
self._blockService.goOffline()
66
self._bitswap.stop()
7-
// TODO self._pubsub.stop()
8-
self.libp2p.stop(cb)
7+
self._pubsub.stop((err) => {
8+
if (err) {
9+
return callback(err)
10+
}
11+
self.libp2p.stop(callback)
12+
})
913
}
1014
}

src/core/components/go-online.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ const Bitswap = require('ipfs-bitswap')
55
const FloodSub = require('libp2p-floodsub')
66

77
module.exports = (self) => {
8-
return (cb) => {
8+
return (callback) => {
99
series([
1010
self.load,
1111
self.libp2p.start
1212
], (err) => {
1313
if (err) {
14-
return cb(err)
14+
return callback(err)
1515
}
1616

1717
self._bitswap = new Bitswap(
@@ -20,10 +20,11 @@ module.exports = (self) => {
2020
self._libp2pNode.peerBook
2121
)
2222
self._bitswap.start()
23+
2324
self._blockService.goOnline(self._bitswap)
25+
2426
self._pubsub = new FloodSub(self._libp2pNode)
25-
// TODO self.pubsub.start()
26-
cb()
27+
self._pubsub.start(callback)
2728
})
2829
}
2930
}

test/core/node-only/test-swarm-2.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

test/core/node-only/test-swarm.js

Lines changed: 14 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,20 @@
11
/* eslint-env mocha */
2-
'use strict'
3-
4-
const expect = require('chai').expect
5-
const parallel = require('async/parallel')
6-
7-
const createTempNode = require('../../utils/temp-node')
8-
9-
describe('swarm', () => {
10-
let nodeA
11-
let nodeB
12-
13-
// let nodeAMultiaddr
14-
let nodeBMultiaddr
152

16-
it('create 2 temporary nodes', (done) => {
17-
parallel([
18-
(cb) => {
19-
createTempNode(2, (err, tmpNode) => {
20-
expect(err).to.not.exist
21-
nodeA = tmpNode
22-
cb()
23-
})
24-
},
25-
(cb) => {
26-
createTempNode(3, (err, tmpNode) => {
27-
expect(err).to.not.exist
28-
nodeB = tmpNode
29-
cb()
30-
})
31-
}
32-
], done)
33-
})
34-
35-
it('get each peer addr', (done) => {
36-
parallel([
37-
(cb) => {
38-
nodeA.id((err, res) => {
39-
expect(err).to.not.exist
40-
// nodeAMultiaddr = `${res.addresses[0]}/ipfs/${res.id}`
41-
cb()
42-
})
43-
},
44-
(cb) => {
45-
nodeB.id((err, res) => {
46-
expect(err).to.not.exist
47-
nodeBMultiaddr = res.addresses[0]
48-
cb()
49-
})
50-
}
51-
], done)
52-
})
53-
54-
it('start 2 nodes', (done) => {
55-
parallel([
56-
nodeA.goOnline,
57-
nodeB.goOnline
58-
], done)
59-
})
60-
61-
it('libp2p.swarm.connect nodeA to nodeB', (done) => {
62-
nodeA.swarm.connect(nodeBMultiaddr, (err) => {
63-
expect(err).to.not.exist
64-
// So that identify has time to execute
65-
setTimeout(done, 500)
66-
})
67-
})
68-
69-
it('libp2p.swarm.peers on nodeA and nodeB match each other', (done) => {
70-
parallel([
71-
(cb) => {
72-
nodeA.swarm.peers((err, peers) => {
73-
expect(err).to.not.exist
74-
expect(peers).to.have.length.above(0)
75-
cb()
76-
})
77-
},
78-
(cb) => {
79-
nodeB.swarm.peers((err, peers) => {
80-
expect(err).to.not.exist
81-
expect(peers).to.have.length.above(0)
82-
cb()
83-
})
84-
}
85-
], done)
86-
})
3+
'use strict'
874

88-
it('libp2p.swarm.localAddrs', (done) => {
89-
nodeB.swarm.localAddrs((err, res) => {
90-
expect(err).to.not.exist
91-
expect(res.length > 1).to.equal(true)
92-
done()
93-
})
94-
})
5+
const test = require('interface-ipfs-core')
6+
const IPFSFactory = require('../../utils/factory-core')
957

96-
it('libp2p.swarm.disconnect nodeB from nodeA', (done) => {
97-
nodeA.swarm.disconnect(nodeBMultiaddr, (err) => {
98-
expect(err).to.not.exist
99-
// So that identify has time to execute
100-
setTimeout(check, 500)
8+
let factory
1019

102-
function check () {
103-
parallel([
104-
(cb) => {
105-
nodeA.swarm.peers((err, peers) => {
106-
expect(err).to.not.exist
107-
expect(peers).to.have.length(0)
108-
cb()
109-
})
110-
},
111-
(cb) => {
112-
nodeB.swarm.peers((err, peers) => {
113-
expect(err).to.not.exist
114-
expect(peers).to.have.length(0)
115-
cb()
116-
})
117-
}
118-
], done)
119-
}
120-
})
121-
})
10+
const common = {
11+
setup: function (cb) {
12+
factory = new IPFSFactory()
13+
cb(null, factory)
14+
},
15+
teardown: function (cb) {
16+
factory.dismantle(cb)
17+
}
18+
}
12219

123-
it('stop', (done) => {
124-
parallel([
125-
nodeA.goOffline,
126-
nodeB.goOffline
127-
], done)
128-
})
129-
})
20+
test.swarm(common)

0 commit comments

Comments
 (0)