Commit Graph

2601 Commits

Author SHA1 Message Date
6acc0c7c5f Add UniqueConnec::is_alive (#339) 2018-07-19 14:00:13 +02:00
0cfaa23908 Add upgrade::map_with_addr (#331)
* Add upgrade::map_with_addr

* Some help for inferrence
2018-07-19 10:55:04 +02:00
7507e0bfd9 Make the Pinger clonable (#330) 2018-07-18 18:47:58 +02:00
bd169a5a4b Do not return peers with only expired addresses. (#325) 2018-07-18 14:37:01 +02:00
cbc845d345 Always store open frames to internal buffer. (#319) 2018-07-18 12:35:37 +02:00
b423e9fe8c Use tokio-codec in mplex. (#315) 2018-07-18 10:30:56 +02:00
8e07c18178 Fix panic in identify (#314) 2018-07-17 23:26:50 +02:00
294310cd07 Rewrite multiplex (#261)
* Rewrite multiplex

* Increase the packet size limit to 32 MB

* Fix waiting for poll_complete to finish

* Typo

* Properly close substreams

* Add a limit to the number of substreams

* Add a limit to the length of the internal buffer

* Fix concerns
2018-07-17 16:31:32 +02:00
053197bd1c Rework the Kademlia high-level system (#282)
* Kademlia high-level rework

* Some changes in the rework

* Some additional tweaks to kad rework

* Add update_kbuckets

* Rename a bunch of Kademlia stuff

* Add KadSystem::local_peer_id

* Some documentation update

* Concern

* Make the example compile

* Make things nicer

* Fix bug in UniqueConnec

* Add clear() to UniqueConnec

* Add UniqueConnec::poll

* Fix potential deadlock in UniqueConnec

* Add UniqueConnec::state()

* The future of get now contains a Weak

* Fix concerns
2018-07-17 15:51:11 +02:00
6bda589389 Some cleanup with clippy and rustfmt (#310) 2018-07-17 11:55:18 +02:00
bd965d1668 Test creating lots of connections amongst lots of swarm (#304)
* Use the new version of tokio

* Add tests for lots of connections in a swarm

* Remove wrongly-added file
2018-07-16 16:56:05 +02:00
80f0f9986a Add yamux in the reexports (#305) 2018-07-16 12:45:28 +02:00
16e3453b7f Use the new version of tokio (#303) 2018-07-16 12:15:27 +02:00
e74e3f4950 Remove the AsyncRead/Write bounds in ConnectionUpgrade (#302) 2018-07-14 14:12:19 +02:00
7c71ffddb2 Remove exposed unimplemented!() in the Kad server (#298) 2018-07-14 13:58:16 +02:00
4592d1b21e SwarmController::dial now returns a Future (#290)
* SwarmController::dial now returns a Future

* Minor comment
2018-07-14 13:46:11 +02:00
c05e7e0c4e Two minor swarm tests (#300) 2018-07-14 13:31:22 +02:00
5639b04fc5 Fix travis (#301) 2018-07-14 09:10:35 +02:00
857c6653ec Always identify the remote (#277) 2018-07-11 14:35:24 +02:00
b3ed7f852a Fix the authors in multiple Cargo.toml (#293) 2018-07-11 13:06:42 +02:00
f104dd9036 Run rustfmt on files that aren't really touched (#289) 2018-07-11 11:14:40 +02:00
e11fac938e Fix Thisis (#292) 2018-07-11 10:56:48 +02:00
d5602e7687 Add support for yamux multiplexing. (#284)
* Add support for yamux multiplexing.

* Address review comments.
2018-07-10 14:59:24 +02:00
fd01b18e53 Upgrade and unify protobuf version(1.x => 2.0.2) (#283)
* Update and unify protobuf version(1.x => 2.0.2)

* Update protobuf codegen shell script
2018-07-10 14:07:28 +02:00
18075f4eaa Give access to secio ephemeral key (#280)
* Give access to secio ephemeral key

* Fix tests
2018-07-04 17:07:38 +02:00
03947908b4 Add upgrade::toggleable (#281)
* Add upgrade::toggleable

* Some minor fixes/improvements
2018-07-03 16:10:15 +02:00
e2690f1c92 Use eth-secp256k1 instead of secp256k1 (#279) 2018-07-02 11:56:50 +02:00
76f13ab5e5 Instantly deny IPs of the form 0.0.0.0:0 (#275)
* Instantly deny IPs of the form 0.0.0.0:0

* Also put the change in websockets
2018-07-02 10:51:10 +02:00
a7a06aa5ab Fix wrong endpoint in and_then (#278) 2018-06-28 10:24:24 +02:00
143a1845b1 The PeerId is the hash of the protobuf encoding (#276) 2018-06-25 17:56:36 +02:00
8997928c5f Add Peerstore::rm_addr methods (#274) 2018-06-25 15:40:35 +02:00
8c4945ffb5 Add a TransportTimeout wrapper (#234)
* Add a TransportTimeout wrapper

* Add outgoing/ingoing only timeouts
2018-06-25 15:12:39 +02:00
795961b15e Fix the public key format in the IdentifyInfo (#264)
* Fix the public key format in the IdentifyInfo

* Move PublicKey type to core

* Oops
2018-06-25 14:54:55 +02:00
de39e321e9 Fix a missing loop in SwarmFuture::poll (#272) 2018-06-25 14:29:15 +02:00
0f0ae368b8 Create the parent directory of a JSON datastore (#270) 2018-06-22 17:36:30 +02:00
16967abda7 Use tokio-codec. (#271) 2018-06-22 16:12:23 +02:00
75df40010b Make secp256k1 optional (#266) 2018-06-22 13:07:57 +02:00
ab96f7efe0 Add loops around stream polling (#251) 2018-06-22 11:02:47 +02:00
02bf7604d0 Fix protobuf again (#269) 2018-06-21 16:53:23 +02:00
30ffa2f256 Revert to old protobuf generation system (#268)
* Revert "Remove old protoc scripts and artifacts (#262)"

This reverts commit 32ef50b822.

* Revert "Use pure-rust protoc (#255)"

This reverts commit 217fae405f.
2018-06-21 15:47:13 +02:00
Jef
32ef50b822 Remove old protoc scripts and artifacts (#262) 2018-06-21 15:03:58 +02:00
2d4fe77275 Fix kademlia server end (#254) 2018-06-21 14:13:25 +02:00
6ed518e9a5 Add logging for multistream handshake (#260) 2018-06-21 13:44:07 +02:00
8aa719c532 Return WouldBlock if flushing did not complete. (#265) 2018-06-21 11:57:15 +02:00
Jef
217fae405f Use pure-rust protoc (#255) 2018-06-20 13:40:01 +02:00
1607fcb3f4 Add support for secp256k1 in secio (#258) 2018-06-20 09:47:43 +02:00
fd4c5fad44 Remove the observed address from identify protocol (#253) 2018-06-19 16:14:27 +02:00
7b375798a5 The Multiaddr of the remote is now a Future (#249)
* The Multiaddr of the remote is now a Future

* The multiaddress future in swarm is now a Box
2018-06-19 14:38:55 +02:00
8fb919321b Fix exchange algorithm in secio (#257) 2018-06-19 13:57:47 +02:00
f74cf9f126 Don't unwrap in Kademlia protocol (#252)
* Don't unwrap in Kademlia protocol

* Debug assert that the alloc is correct

* Ignore non-peer CIDs

* Fix concerns
2018-06-14 16:34:07 +02:00