Skip to content
This repository was archived by the owner on Aug 23, 2019. It is now read-only.

Commit 0c1d887

Browse files
dignifiedquiredaviddias
authored andcommitted
Async Crypto Endeavour (#108)
* test: update to async peerid * update to latest * refactor: replace run-* with async * cr - round1 * ready for next aegir * update aegir * ready * chore: update of the deps
1 parent 483a536 commit 0c1d887

22 files changed

+1289
-270
lines changed

.aegir.js

-19
This file was deleted.

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,3 @@ node_modules
3131
coverage
3232

3333
dist
34-
lib

.travis.yml

+18-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
sudo: false
22
language: node_js
3-
node_js:
4-
- 4
5-
- 5
3+
matrix:
4+
include:
5+
- node_js: 4
6+
env: CXX=g++-4.8
7+
- node_js: 6
8+
env:
9+
- SAUCE=true
10+
- CXX=g++-4.8
11+
- node_js: stable
12+
env: CXX=g++-4.8
613

714
# Make sure we have new NPM.
815
before_install:
@@ -13,12 +20,17 @@ script:
1320
- npm test
1421
- npm run coverage
1522

16-
addons:
17-
firefox: 'latest'
18-
1923
before_script:
2024
- export DISPLAY=:99.0
2125
- sh -e /etc/init.d/xvfb start
2226

2327
after_success:
2428
- npm run coverage-publish
29+
30+
addons:
31+
firefox: 'latest'
32+
apt:
33+
sources:
34+
- ubuntu-toolchain-r-test
35+
packages:
36+
- g++-4.8

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ libp2p-swarm JavaScript implementation
88
[![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-swarm/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-swarm?branch=master)
99
[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-swarm.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-swarm)
1010
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)
11+
![](https://img.shields.io/badge/npm-%3E%3D3.0.0-orange.svg?style=flat-square)
12+
![](https://img.shields.io/badge/Node.js-%3E%3D4.0.0-orange.svg?style=flat-square)
13+
14+
[![Sauce Test Status](https://saucelabs.com/browser-matrix/libp2p-js-swarm.svg)](https://saucelabs.com/u/libp2p-js-swarm)
1115

1216
> libp2p swarm implementation in JavaScript.
1317

gulpfile.js

+40-28
Original file line numberDiff line numberDiff line change
@@ -20,37 +20,49 @@ let sigS
2020

2121
gulp.task('test:browser:before', (done) => {
2222
function createListenerA (cb) {
23-
const id = PeerId.createFromJSON(
24-
JSON.parse(
25-
fs.readFileSync(
26-
path.join(__dirname, './test/test-data/id-1.json'))))
27-
28-
const peerA = new PeerInfo(id)
29-
const maA = multiaddr('/ip4/127.0.0.1/tcp/9100/ws')
30-
31-
peerA.multiaddr.add(maA)
32-
swarmA = new Swarm(peerA)
33-
swarmA.transport.add('ws', new WebSockets())
34-
swarmA.transport.listen('ws', {}, echo, cb)
23+
PeerId.createFromJSON(
24+
JSON.parse(
25+
fs.readFileSync(
26+
path.join(__dirname, './test/test-data/id-1.json'))
27+
),
28+
(err, id) => {
29+
if (err) {
30+
return cb(err)
31+
}
32+
33+
const peerA = new PeerInfo(id)
34+
const maA = multiaddr('/ip4/127.0.0.1/tcp/9100/ws')
35+
36+
peerA.multiaddr.add(maA)
37+
swarmA = new Swarm(peerA)
38+
swarmA.transport.add('ws', new WebSockets())
39+
swarmA.transport.listen('ws', {}, echo, cb)
40+
})
3541
}
3642

3743
function createListenerB (cb) {
38-
const id = PeerId.createFromJSON(
39-
JSON.parse(
40-
fs.readFileSync(
41-
path.join(__dirname, './test/test-data/id-2.json'))))
42-
43-
const peerB = new PeerInfo(id)
44-
const maB = multiaddr('/ip4/127.0.0.1/tcp/9200/ws')
45-
46-
peerB.multiaddr.add(maB)
47-
swarmB = new Swarm(peerB)
48-
49-
swarmB.transport.add('ws', new WebSockets())
50-
swarmB.connection.addStreamMuxer(spdy)
51-
swarmB.connection.reuse()
52-
swarmB.listen(cb)
53-
swarmB.handle('/echo/1.0.0', echo)
44+
PeerId.createFromJSON(
45+
JSON.parse(
46+
fs.readFileSync(
47+
path.join(__dirname, './test/test-data/id-2.json'))
48+
),
49+
(err, id) => {
50+
if (err) {
51+
return cb(err)
52+
}
53+
54+
const peerB = new PeerInfo(id)
55+
const maB = multiaddr('/ip4/127.0.0.1/tcp/9200/ws')
56+
57+
peerB.multiaddr.add(maB)
58+
swarmB = new Swarm(peerB)
59+
60+
swarmB.transport.add('ws', new WebSockets())
61+
swarmB.connection.addStreamMuxer(spdy)
62+
swarmB.connection.reuse()
63+
swarmB.listen(cb)
64+
swarmB.handle('/echo/1.0.0', echo)
65+
})
5466
}
5567

5668
let count = 0

package.json

+17-20
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
"name": "libp2p-swarm",
33
"version": "0.23.0",
44
"description": "libp2p swarm implementation in JavaScript",
5-
"main": "lib/index.js",
6-
"jsnext:main": "src/index.js",
5+
"main": "src/index.js",
76
"scripts": {
87
"lint": "gulp lint",
98
"build": "gulp build",
@@ -34,39 +33,37 @@
3433
"test"
3534
],
3635
"engines": {
37-
"node": "^4.3.0"
36+
"node": ">=4.0.0"
3837
},
3938
"devDependencies": {
40-
"aegir": "^8.0.0",
39+
"aegir": "^9.0.1",
4140
"buffer-loader": "0.0.1",
4241
"chai": "^3.5.0",
4342
"gulp": "^3.9.1",
4443
"libp2p-multiplex": "^0.2.1",
45-
"libp2p-secio": "^0.5.0",
46-
"libp2p-spdy": "^0.9.0",
47-
"libp2p-tcp": "^0.8.1",
48-
"libp2p-webrtc-star": "^0.4.4",
49-
"libp2p-websockets": "^0.8.1",
44+
"libp2p-secio": "^0.6.0",
45+
"libp2p-spdy": "^0.10.0",
46+
"libp2p-tcp": "^0.9.1",
47+
"libp2p-webrtc-star": "^0.5.0",
48+
"libp2p-websockets": "^0.9.0",
5049
"pre-commit": "^1.1.3",
5150
"pull-goodbye": "0.0.1",
52-
"pull-stream": "^3.4.5",
51+
"pull-stream": "^3.5.0",
5352
"webrtcsupport": "^2.2.0"
5453
},
5554
"dependencies": {
56-
"babel-runtime": "^6.11.6",
55+
"async": "^2.1.2",
5756
"browserify-zlib": "github:ipfs/browserify-zlib",
5857
"debug": "^2.2.0",
59-
"interface-connection": "^0.2.1",
58+
"interface-connection": "^0.3.0",
6059
"ip-address": "^5.8.2",
61-
"libp2p-identify": "^0.2.0",
60+
"libp2p-identify": "^0.3.0",
6261
"lodash.includes": "^4.3.0",
63-
"multiaddr": "^2.0.2",
64-
"multistream-select": "^0.11.0",
65-
"peer-id": "^0.7.0",
66-
"peer-info": "^0.7.1",
67-
"protocol-buffers": "^3.1.6",
68-
"run-parallel": "^1.1.6",
69-
"run-waterfall": "^1.1.3"
62+
"multiaddr": "^2.0.3",
63+
"multistream-select": "^0.11.1",
64+
"peer-id": "^0.8.0",
65+
"peer-info": "^0.8.0",
66+
"protocol-buffers": "^3.1.6"
7067
},
7168
"contributors": [
7269
"David Dias <daviddias.p@gmail.com>",

src/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const identify = require('libp2p-identify')
44
const multistream = require('multistream-select')
5-
const waterfall = require('run-waterfall')
5+
const waterfall = require('async/waterfall')
66
const debug = require('debug')
77
const log = debug('libp2p:swarm:connection')
88

src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const util = require('util')
44
const EE = require('events').EventEmitter
5-
const parallel = require('run-parallel')
5+
const parallel = require('async/parallel')
66
const includes = require('lodash.includes')
77

88
const transport = require('./transport')

src/transport.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict'
22

33
const Connection = require('interface-connection').Connection
4-
const parallel = require('run-parallel')
4+
const parallel = require('async/parallel')
55
const debug = require('debug')
66
const log = debug('libp2p:swarm:transport')
77

test/01-transport-tcp.node.js

+31-14
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,48 @@
11
/* eslint-env mocha */
2-
32
'use strict'
43

54
const expect = require('chai').expect
6-
const parallel = require('run-parallel')
5+
const parallel = require('async/parallel')
76
const multiaddr = require('multiaddr')
87
const Peer = require('peer-info')
98
const TCP = require('libp2p-tcp')
109
const pull = require('pull-stream')
1110

11+
const utils = require('./utils')
1212
const Swarm = require('../src')
1313

1414
describe('transport - tcp', function () {
1515
let swarmA
1616
let swarmB
17-
let peerA = new Peer()
18-
let peerB = new Peer()
19-
20-
before(() => {
21-
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888'))
22-
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999'))
23-
swarmA = new Swarm(peerA)
24-
swarmB = new Swarm(peerB)
17+
let peerA
18+
let peerB
19+
20+
before((done) => {
21+
utils.createInfos(2, (err, infos) => {
22+
if (err) {
23+
return done(err)
24+
}
25+
peerA = infos[0]
26+
peerB = infos[1]
27+
28+
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888'))
29+
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999'))
30+
swarmA = new Swarm(peerA)
31+
swarmB = new Swarm(peerB)
32+
done()
33+
})
34+
})
35+
36+
let peer
37+
beforeEach((done) => {
38+
Peer.create((err, info) => {
39+
if (err) {
40+
return done(err)
41+
}
42+
43+
peer = info
44+
done()
45+
})
2546
})
2647

2748
it('add', (done) => {
@@ -99,7 +120,6 @@ describe('transport - tcp', function () {
99120

100121
it('support port 0', (done) => {
101122
let swarm
102-
let peer = new Peer()
103123
peer.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/0'))
104124
swarm = new Swarm(peer)
105125
swarm.transport.add('tcp', new TCP())
@@ -116,7 +136,6 @@ describe('transport - tcp', function () {
116136

117137
it('support addr /ip4/0.0.0.0/tcp/9050', (done) => {
118138
let swarm
119-
let peer = new Peer()
120139
peer.multiaddr.add(multiaddr('/ip4/0.0.0.0/tcp/9050'))
121140
swarm = new Swarm(peer)
122141
swarm.transport.add('tcp', new TCP())
@@ -137,7 +156,6 @@ describe('transport - tcp', function () {
137156

138157
it('support addr /ip4/0.0.0.0/tcp/0', (done) => {
139158
let swarm
140-
let peer = new Peer()
141159
peer.multiaddr.add(multiaddr('/ip4/0.0.0.0/tcp/0'))
142160
swarm = new Swarm(peer)
143161
swarm.transport.add('tcp', new TCP())
@@ -154,7 +172,6 @@ describe('transport - tcp', function () {
154172

155173
it('listen in several addrs', (done) => {
156174
let swarm
157-
let peer = new Peer()
158175
peer.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9001'))
159176
peer.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9002'))
160177
peer.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9003'))

test/03-transport-websockets.node.js

+18-9
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,35 @@
33

44
const expect = require('chai').expect
55

6-
const parallel = require('run-parallel')
6+
const parallel = require('async/parallel')
77
const multiaddr = require('multiaddr')
8-
const Peer = require('peer-info')
98
const WebSockets = require('libp2p-websockets')
109
const pull = require('pull-stream')
1110
const goodbye = require('pull-goodbye')
1211

12+
const utils = require('./utils')
1313
const Swarm = require('../src')
1414

1515
describe('transport - websockets', function () {
1616
var swarmA
1717
var swarmB
18-
var peerA = new Peer()
19-
var peerB = new Peer()
18+
var peerA
19+
var peerB
2020

21-
before(() => {
22-
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888/ws'))
23-
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC'))
24-
swarmA = new Swarm(peerA)
25-
swarmB = new Swarm(peerB)
21+
before((done) => {
22+
utils.createInfos(2, (err, infos) => {
23+
if (err) {
24+
return done(err)
25+
}
26+
peerA = infos[0]
27+
peerB = infos[1]
28+
29+
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888/ws'))
30+
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC'))
31+
swarmA = new Swarm(peerA)
32+
swarmB = new Swarm(peerB)
33+
done()
34+
})
2635
})
2736

2837
it('add', (done) => {

0 commit comments

Comments
 (0)