Compare commits

...

4 Commits

Author SHA1 Message Date
760d8b4c3a chore: release version v0.27.5 2020-04-06 13:33:08 +02:00
7b56f559cb chore: update contributors 2020-04-06 13:33:08 +02:00
0fd5188176 test: dont use mdns in browser tests (#602)
* test(fix): dont use mdns in browser tests

* refactor: use async await consistently for _setupPeerDiscovery
2020-04-06 13:22:12 +02:00
bd7fd0f755 fix: await peer discovery start in libp2p start (#600) 2020-04-06 12:32:12 +02:00
4 changed files with 32 additions and 17 deletions

View File

@ -1,3 +1,13 @@
<a name="0.27.5"></a>
## [0.27.5](https://github.com/libp2p/js-libp2p/compare/v0.27.4...v0.27.5) (2020-04-06)
### Bug Fixes
* await peer discovery start in libp2p start ([#600](https://github.com/libp2p/js-libp2p/issues/600)) ([bd7fd0f](https://github.com/libp2p/js-libp2p/commit/bd7fd0f))
<a name="0.27.4"></a>
## [0.27.4](https://github.com/libp2p/js-libp2p/compare/v0.27.3...v0.27.4) (2020-03-31)

View File

@ -1,6 +1,6 @@
{
"name": "libp2p",
"version": "0.27.4",
"version": "0.27.5",
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
"main": "src/index.js",
@ -123,30 +123,30 @@
"Richard Littauer <richard.littauer@gmail.com>",
"ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ <victorbjelkholm@gmail.com>",
"Andrew Nesbitt <andrewnez@gmail.com>",
"Cayman <caymannava@gmail.com>",
"Elven <mon.samuel@qq.com>",
"Giovanni T. Parra <fiatjaf@gmail.com>",
"Ryan Bell <ryan@piing.net>",
"Thomas Eizinger <thomas@eizinger.io>",
"Henrique Dias <hacdias@gmail.com>",
"Joel Gustafson <joelg@mit.edu>",
"Kevin Kwok <antimatter15@gmail.com>",
"Henrique Dias <hacdias@gmail.com>",
"Nuno Nogueira <nunofmn@gmail.com>",
"Florian-Merle <florian.david.merle@gmail.com>",
"RasmusErik Voel Jensen <github@solsort.com>",
"Fei Liu <liu.feiwood@gmail.com>",
"Florian-Merle <florian.david.merle@gmail.com>",
"Soeren <nikorpoulsen@gmail.com>",
"Sönke Hahn <soenkehahn@gmail.com>",
"Tiago Alves <alvesjtiago@gmail.com>",
"Fei Liu <liu.feiwood@gmail.com>",
"Dmitriy Ryajov <dryajov@gmail.com>",
"Diogo Silva <fsdiogo@gmail.com>",
"Didrik Nordström <didrik.nordstrom@gmail.com>",
"Yusef Napora <yusef@napora.org>",
"Zane Starr <zcstarr@gmail.com>",
"Didrik Nordström <didrik.nordstrom@gmail.com>",
"Daijiro Wachi <daijiro.wachi@gmail.com>",
"Chris Bratlien <chrisbratlien@gmail.com>",
"ebinks <elizabethjbinks@gmail.com>",
"Cayman <caymannava@gmail.com>",
"Chris Bratlien <chrisbratlien@gmail.com>",
"isan_rivkin <isanrivkin@gmail.com>",
"Irakli Gozalishvili <rfobic@gmail.com>",
"Joel Gustafson <joelg@mit.edu>"
"Irakli Gozalishvili <rfobic@gmail.com>"
]
}

View File

@ -399,7 +399,7 @@ class Libp2p extends EventEmitter {
* Called when libp2p has started and before it returns
* @private
*/
_onDidStart () {
async _onDidStart () {
this._isStarted = true
this.connectionManager.start()
@ -410,7 +410,7 @@ class Libp2p extends EventEmitter {
})
// Peer discovery
this._setupPeerDiscovery()
await this._setupPeerDiscovery()
// Once we start, emit and dial any peers we may have already discovered
for (const peerInfo of this.peerStore.peers.values()) {
@ -458,10 +458,10 @@ class Libp2p extends EventEmitter {
/**
* Initializes and starts peer discovery services
*
* @async
* @private
* @returns {Promise<void>}
*/
_setupPeerDiscovery () {
async _setupPeerDiscovery () {
const setupService = (DiscoveryService) => {
let config = {
enabled: true // on by default
@ -500,7 +500,7 @@ class Libp2p extends EventEmitter {
}
}
return Promise.all(Array.from(this._discovery.values(), d => d.start()))
await Promise.all(Array.from(this._discovery.values(), d => d.start()))
}
}

View File

@ -9,12 +9,12 @@ const sinon = require('sinon')
const defer = require('p-defer')
const mergeOptions = require('merge-options')
const MulticastDNS = require('libp2p-mdns')
const WebRTCStar = require('libp2p-webrtc-star')
const Libp2p = require('../../src')
const baseOptions = require('../utils/base-options.browser')
const { createPeerInfo } = require('../utils/creators/peer')
const { EventEmitter } = require('events')
describe('peer discovery', () => {
describe('basic functions', () => {
@ -51,17 +51,22 @@ describe('peer discovery', () => {
})
it('should ignore self on discovery', async () => {
const mockDiscovery = new EventEmitter()
mockDiscovery.tag = 'mock'
mockDiscovery.start = () => {}
mockDiscovery.stop = () => {}
libp2p = new Libp2p(mergeOptions(baseOptions, {
peerInfo,
modules: {
peerDiscovery: [MulticastDNS]
peerDiscovery: [mockDiscovery]
}
}))
await libp2p.start()
const discoverySpy = sinon.spy()
libp2p.on('peer:discovery', discoverySpy)
libp2p._discovery.get('mdns').emit('peer', libp2p.peerInfo)
libp2p._discovery.get('mock').emit('peer', libp2p.peerInfo)
expect(discoverySpy.called).to.eql(false)
})