mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-07-25 05:21:57 +00:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
665f7c6d66 | ||
|
03e02dfba9 | ||
|
019f84885d | ||
|
ceaae4c53f |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libp2p-swarm",
|
"name": "libp2p-swarm",
|
||||||
"version": "0.18.1",
|
"version": "0.18.2",
|
||||||
"description": "libp2p swarm implementation in JavaScript",
|
"description": "libp2p swarm implementation in JavaScript",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"jsnext:main": "src/index.js",
|
"jsnext:main": "src/index.js",
|
||||||
|
@@ -62,7 +62,7 @@ exports.exec = (rawConn, muxer, peerInfo, callback) => {
|
|||||||
pbs.identify({
|
pbs.identify({
|
||||||
protocolVersion: 'na',
|
protocolVersion: 'na',
|
||||||
agentVersion: 'na',
|
agentVersion: 'na',
|
||||||
publicKey: peerInfo.id.pubKey,
|
publicKey: peerInfo.id.pubKey || new Buffer(0),
|
||||||
listenAddrs: peerInfo.multiaddrs.map((mh) => mh.buffer),
|
listenAddrs: peerInfo.multiaddrs.map((mh) => mh.buffer),
|
||||||
observedAddr: obsMultiaddr ? obsMultiaddr.buffer : new Buffer('')
|
observedAddr: obsMultiaddr ? obsMultiaddr.buffer : new Buffer('')
|
||||||
})
|
})
|
||||||
@@ -91,7 +91,7 @@ exports.handler = (peerInfo, swarm) => {
|
|||||||
pbs.identify({
|
pbs.identify({
|
||||||
protocolVersion: 'na',
|
protocolVersion: 'na',
|
||||||
agentVersion: 'na',
|
agentVersion: 'na',
|
||||||
publicKey: peerInfo.id.pubKey,
|
publicKey: peerInfo.id.pubKey || new Buffer(0),
|
||||||
listenAddrs: peerInfo.multiaddrs.map((ma) => ma.buffer),
|
listenAddrs: peerInfo.multiaddrs.map((ma) => ma.buffer),
|
||||||
observedAddr: obsMultiaddr ? obsMultiaddr.buffer : new Buffer('')
|
observedAddr: obsMultiaddr ? obsMultiaddr.buffer : new Buffer('')
|
||||||
})
|
})
|
||||||
|
@@ -17,9 +17,11 @@ describe('high level API (swarm with spdy + webrtc-star)', function () {
|
|||||||
|
|
||||||
let swarm1
|
let swarm1
|
||||||
let peer1
|
let peer1
|
||||||
|
let wstar1
|
||||||
|
|
||||||
let swarm2
|
let swarm2
|
||||||
let peer2
|
let peer2
|
||||||
|
let wstar2
|
||||||
|
|
||||||
before(() => {
|
before(() => {
|
||||||
const id1 = peerId.create()
|
const id1 = peerId.create()
|
||||||
@@ -37,12 +39,14 @@ describe('high level API (swarm with spdy + webrtc-star)', function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('add WebRTCStar transport to swarm 1', () => {
|
it('add WebRTCStar transport to swarm 1', () => {
|
||||||
swarm1.transport.add('wstar', new WebRTCStar())
|
wstar1 = new WebRTCStar()
|
||||||
|
swarm1.transport.add('wstar', wstar1)
|
||||||
expect(Object.keys(swarm1.transports).length).to.equal(1)
|
expect(Object.keys(swarm1.transports).length).to.equal(1)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('add WebRTCStar transport to swarm 2', () => {
|
it('add WebRTCStar transport to swarm 2', () => {
|
||||||
swarm2.transport.add('wstar', new WebRTCStar())
|
wstar2 = new WebRTCStar()
|
||||||
|
swarm2.transport.add('wstar', wstar2)
|
||||||
expect(Object.keys(swarm2.transports).length).to.equal(1)
|
expect(Object.keys(swarm2.transports).length).to.equal(1)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -76,7 +80,7 @@ describe('high level API (swarm with spdy + webrtc-star)', function () {
|
|||||||
conn.pipe(bl((err, data) => {
|
conn.pipe(bl((err, data) => {
|
||||||
expect(err).to.not.exist
|
expect(err).to.not.exist
|
||||||
expect(data.toString()).to.equal(text)
|
expect(data.toString()).to.equal(text)
|
||||||
// expect(Object.keys(swarm2.muxedConns).length).to.equal(1)
|
expect(Object.keys(swarm2.muxedConns).length).to.equal(1)
|
||||||
done()
|
done()
|
||||||
}))
|
}))
|
||||||
|
|
||||||
@@ -85,6 +89,37 @@ describe('high level API (swarm with spdy + webrtc-star)', function () {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('create a third node and check that discovery works', (done) => {
|
||||||
|
wstar1.discovery.on('peer', (peerInfo) => {
|
||||||
|
expect(Object.keys(swarm1.muxedConns).length).to.equal(1)
|
||||||
|
swarm1.dial(peerInfo, () => {
|
||||||
|
expect(Object.keys(swarm1.muxedConns).length).to.equal(2)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
wstar2.discovery.on('peer', (peerInfo) => {
|
||||||
|
swarm2.dial(peerInfo)
|
||||||
|
})
|
||||||
|
|
||||||
|
const id3 = peerId.create()
|
||||||
|
const peer3 = new PeerInfo(id3)
|
||||||
|
const mh3 = multiaddr('/libp2p-webrtc-star/ip4/127.0.0.1/tcp/15555/ws/ipfs/' + id3.toB58String())
|
||||||
|
peer3.multiaddr.add(mh3)
|
||||||
|
|
||||||
|
const swarm3 = new Swarm(peer3)
|
||||||
|
const wstar3 = new WebRTCStar()
|
||||||
|
swarm3.transport.add('wstar', wstar3)
|
||||||
|
swarm3.connection.addStreamMuxer(spdy)
|
||||||
|
swarm3.connection.reuse()
|
||||||
|
swarm3.listen(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
expect(Object.keys(swarm1.muxedConns).length).to.equal(2)
|
||||||
|
expect(Object.keys(swarm2.muxedConns).length).to.equal(2)
|
||||||
|
expect(Object.keys(swarm3.muxedConns).length).to.equal(2)
|
||||||
|
swarm3.close(done)
|
||||||
|
}, 8000)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('close', (done) => {
|
it('close', (done) => {
|
||||||
parallel([
|
parallel([
|
||||||
swarm1.close,
|
swarm1.close,
|
||||||
|
Reference in New Issue
Block a user