579 Commits

Author SHA1 Message Date
Jacob Heun
1838a641d9
fix: token release logic 2019-12-12 10:29:08 +01:00
Jacob Heun
3cadeb39cb
test: bump delay for ci 2019-12-12 10:29:08 +01:00
Jacob Heun
43440aa8a6
fix: release tokens as soon as they are available 2019-12-12 10:29:08 +01:00
Jacob Heun
7c3371bf17
fix: clean up pending dials abort per feedback 2019-12-12 10:29:08 +01:00
Jacob Heun
43b98e64b6
docs: add DialRequest description 2019-12-12 10:29:07 +01:00
Jacob Heun
962081f448
test: remove timeout 2019-12-12 10:29:07 +01:00
Jacob Heun
754fbc2d0b
feat: abort all pending dials on stop 2019-12-12 10:29:07 +01:00
Jacob Heun
0a8f9f3238
test: reduce randomwalk timeout 2019-12-12 10:29:07 +01:00
Jacob Heun
3b52236dee
chore: fix lint
test: reduce interval of randomwalk in test

chore(test): glob fix
2019-12-12 10:29:07 +01:00
Jacob Heun
c7dcfe5e48
test: add tests for DialRequest 2019-12-12 10:29:06 +01:00
Jacob Heun
3b06283ad8
test(fix): fix support for it.only, it.skip, etc 2019-12-12 10:29:06 +01:00
Jacob Heun
74bfe6bea5
docs(release): point to libp2p weekly sync 2019-12-12 10:29:06 +01:00
Jacob Heun
53ce404260
chore: update per feedback 2019-12-12 10:29:06 +01:00
Jacob Heun
43a3b85f1a
refactor: cleanup and reorganize 2019-12-12 10:29:06 +01:00
Jacob Heun
e8bf12b68a
chore: update docs
fix: protect against duplicate token releases
2019-12-12 10:29:05 +01:00
Jacob Heun
7d1cb5423f
chore: fix linting 2019-12-12 10:29:05 +01:00
Jacob Heun
c4be5f4aaf
refactor: consolidation multiaddr dial methods 2019-12-12 10:29:05 +01:00
Jacob Heun
a37c5c0144
refactor: clean up dial timeout abort 2019-12-12 10:29:05 +01:00
Jacob Heun
24c603741f
feat: add early token recycling in 2019-12-12 10:29:05 +01:00
Jacob Heun
ea62c52701
refactor: simplify DialRequest logic per feedback 2019-12-12 10:29:04 +01:00
Jacob Heun
f9fe44f6b7
chore: use any-signal module 2019-12-12 10:29:04 +01:00
Jacob Heun
d5405dbb08
refactor: PER_PEER_LIMIT is now MAX_PER_PEER_DIALS 2019-12-12 10:29:04 +01:00
Jacob Heun
571fd3b7d1
chore: apply suggestions from code review
Co-Authored-By: Vasco Santos <vasco.santos@moxy.studio>
Co-Authored-By: Alan Shaw <alan.shaw@protocol.ai>
2019-12-12 10:29:04 +01:00
Jacob Heun
cba2c6d8b2
chore: remove commented code 2019-12-12 10:29:04 +01:00
Jacob Heun
f8540fa3ed
feat: add token based dialer 2019-12-12 10:29:03 +01:00
Jacob Heun
0cacfe29a5
doc: add initial dialer readme 2019-12-12 10:29:03 +01:00
Jacob Heun
c4bc00be9c
fix: correct release readme 2019-12-12 10:29:03 +01:00
Jacob Heun
f3eb1f1201
fix: clean up peer discovery flow (#494)
* fix: clean up peer discovery flow

* test(fix): let libp2p start after connecting

* test(fix): dont auto dial in disco tests
2019-12-12 10:29:03 +01:00
Vasco Santos
dbb9e57311
chore: update pubsub implementations (#493) 2019-12-12 10:29:03 +01:00
Vasco Santos
11ed6bd14c
feat: support peer-id instances in peer store operations (#491) 2019-12-12 10:29:02 +01:00
Vasco Santos
fc22c36ba7
refactor: async routing (#489)
* feat: async routing

* chore: put dht extra api commands under content routing

* chore: add default option to createPeerInfo

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>

* chore: address review

* chore: rm dlv
2019-12-12 10:29:02 +01:00
Jacob Heun
b518391a47
refactor: circuit relay to async (#477)
* refactor: add dialing over relay support

* chore: fix lint

* fix: dont clear listeners on close

* fix: if dial errors already have codes, just rethrow them

* fix: clear the registrar when libp2p stops

* fix: improve connection maintenance with circuit

* chore: correct feedback

* test: use chai as promised

* test(fix): reset multiaddrs on dial test
2019-12-12 10:29:02 +01:00
Vasco Santos
997ee166b0
feat: discovery modules (#486)
* feat: discovery modules

* chore: address review
2019-12-12 10:29:02 +01:00
dirkmc
acbbc0f84e
fix: replace peerInfo addresses with listen addresses (#485)
* feat: replace peer info addresses with listen addresses

* test: add listening test

* chore: fix linting
2019-12-12 10:29:02 +01:00
dirkmc
995640ee2f
refactor(docs): async await version of examples/chat (#482)
* fix: performance bottleneck in stat.js (#463)

Array.shift seems to be very slow, perhaps linear, on some
engines, resulting in  _update consuming a lot of CPU.

* docs(fix): correct docs and example for pnet (#464)

* docs(fix): correct docs and example for pnet

* docs(fix): correct pnet docs

* docs(fix): update README.md language (#468)

* docs: reciprocate (#474)

* docs(example): fix ipfs cat (#475)

`ipfs.files.cat` is incorrect. the correct function is `ipfs.cat`

* fix: async-await example chat

* fix: move handler before start

* fix: examples readme typos (#481)

* fix: simplify libp2p bundle for echo example

* chore: remove unused vars
2019-12-12 10:29:01 +01:00
dirkmc
b316cdd19b
refactor(docs): async await version of examples/echo (#483)
* fix: performance bottleneck in stat.js (#463)

Array.shift seems to be very slow, perhaps linear, on some
engines, resulting in  _update consuming a lot of CPU.

* docs(fix): correct docs and example for pnet (#464)

* docs(fix): correct docs and example for pnet

* docs(fix): correct pnet docs

* docs(fix): update README.md language (#468)

* docs: reciprocate (#474)

* docs(example): fix ipfs cat (#475)

`ipfs.files.cat` is incorrect. the correct function is `ipfs.cat`

* fix: async await examples/echo

* fix: examples readme typos (#481)

* fix: simplify libp2p bundle for echo example
2019-12-12 10:29:01 +01:00
Vasco Santos
1ea945ad24
refactor: dht async/await (#480)
* refactor: core async (#478)

* refactor: cleanup core

test: auto dial on startup

* fix: make hangup work properly

* chore: fix lint

* chore: apply suggestions from code review

Co-Authored-By: Vasco Santos <vasco.santos@moxy.studio>

* fix: provide libp2p dialer to the dht

* chore: use dht release
2019-12-12 10:29:01 +01:00
Jacob Heun
c37703dc17
refactor: update secio and tests to use it (#484)
* refactor: use async secio

* test: add secio to most test suites

* chore: update secio version
2019-12-12 10:29:01 +01:00
Jacob Heun
86b275a0d3
refactor: core async (#478)
* refactor: cleanup core

test: auto dial on startup

* fix: make hangup work properly

* chore: fix lint

* chore: apply suggestions from code review

Co-Authored-By: Vasco Santos <vasco.santos@moxy.studio>
2019-12-12 10:29:01 +01:00
Vasco Santos
3c79d33db9
chore: use gossipsub release (#479) 2019-12-12 10:29:00 +01:00
Vasco Santos
34d57f8989
refactor: pubsub (#467)
* feat: peer-store v0

* chore: apply suggestions from code review

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>

* chore: address review

* refactor: pubsub subsystem

* chore: address review

* chore: use topology interface

* chore: address review

* chore: address review

* chore: simplify tests
2019-12-12 10:29:00 +01:00
Jacob Heun
ced2dbf318
chore: update it-length-prefixed (#476)
fix: decode.fromReader usage
2019-12-12 10:29:00 +01:00
Jacob Heun
44d47087d1
refactor: async identify and identify push (#473)
* chore: add missing dep

* feat: import from identify push branch

https://github.com/libp2p/js-libp2p-identify/tree/feat/identify-push

* feat: add the connection to stream handlers

* refactor: identify to async/await

* chore: fix lint

* test: add identify tests

* refactor: add identify to the dialer flow

* feat: connect identify to the registrar

* fix: resolve review feedback

* fix: perform identify push when our protocols change
2019-12-12 10:29:00 +01:00
Vasco Santos
797d8f0cf1
feat: registrar (#471)
* feat: peer-store v0

* feat: registrar

* chore: apply suggestions from code review

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>

* chore: address review

* chore: support multiple conns

* chore: address review

* fix: no remote peer from topology on disconnect
2019-12-12 10:29:00 +01:00
Vasco Santos
f3e276eb79
feat: peer store (#470)
* feat: peer-store v0

* chore: apply suggestions from code review

Co-Authored-By: Jacob Heun <jacobheun@gmail.com>
2019-12-12 10:28:59 +01:00
Jacob Heun
138bb0bbae
refactor: crypto and pnet (#469)
* feat: add initial plaintext 2 module

* refactor: initial refactor of pnet

* chore: fix lint

* fix: update plaintext api usage

* test: use plaintext for test crypto

* chore: update deps

test: update dialer suite scope

* feat: add connection protection to the upgrader

* refactor: cleanup and lint fix

* chore: remove unncessary transforms

* chore: temporarily disable bundlesize

* chore: add missing dep

* fix: use it-handshake to prevent overreading

* chore(fix): PR feedback updates

* chore: apply suggestions from code review

Co-Authored-By: Vasco Santos <vasco.santos@moxy.studio>
2019-12-12 10:28:59 +01:00
Jacob Heun
af364b070b
refactor(async): add dialer and upgrader (#462)
* chore(deps): update connection and multistream

* feat: add basic dial support for addresses and peers

* test: automatically require all node test files

* fix: dont catch and log in the wrong place

* test: add direct spec test

fix: improve dial error consistency

* feat: add dial timeouts and concurrency

Queue timeouts will result in aborts of the dials

* chore: fix linting

* test: verify dialer defaults

* feat: add initial upgrader

* fix: add more test coverage and fix bugs

* feat: libp2p creates the upgrader

* feat: hook up handle to the upgrader

* feat: hook up the dialer to libp2p

test: add node dialer libp2p tests

* feat: add connection listeners to upgrader

* feat: emit connect and disconnect events

* chore: use libp2p-interfaces

* fix: address review feedback

* fix: correct import

* refactor: dedupe connection creation code
2019-12-12 10:28:59 +01:00
Jacob Heun
10c8553c58
docs: add stream wrapping example (#466)
* docs: add duplex wrapping example

docs: add iterable types from @alanshaw's gist

* docs(fix): add feedback fix

Co-Authored-By: Vasco Santos <vasco.santos@moxy.studio>

* docs: clean up based on feedback
2019-12-12 10:28:59 +01:00
Jacob Heun
a7d5e67e06
refactor(async): update transports subsystem (#461)
* test: remove all tests for a clean slate

The refactor will require a large number of updates to the tests. In order
to ensure we have done a decent deduplication, and have a cleaner suite of tests
we've removed all tests. This will also allow us to more easily see tests
for the refactored systems.

We have a record of the latest test suites in master, so we are not losing any history.

* chore: update tcp and websockets
* chore: remove other transports until they are converted
* chore: use mafmt and multiaddr async versions
* chore: add and fix dependencies
* chore: clean up travis file
* feat: add new transport manager
* docs: add constructor jsdocs
* refactor(config): check that transports exist
This also removes the other logic, it can be added when those subsystems are refactored

* chore(deps): use async peer-id and peer-info
* feat: wire up the transport manager with libp2p
* chore: remove superstruct dep
2019-12-12 10:28:59 +01:00
Jacob Heun
4f8043d259
Add streaming iterables guide (#459)
* docs: add streaming iterables guide placeholder

* chore: move peer discovery readme to doc fold:wqer

* docs: add link to async refactor issue
2019-12-12 10:28:58 +01:00