Pierre Krieger
8e07c18178
Fix panic in identify ( #314 )
2018-07-17 23:26:50 +02:00
Pierre Krieger
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
Pierre Krieger
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
Pierre Krieger
6bda589389
Some cleanup with clippy and rustfmt ( #310 )
2018-07-17 11:55:18 +02:00
Pierre Krieger
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
Pierre Krieger
80f0f9986a
Add yamux in the reexports ( #305 )
2018-07-16 12:45:28 +02:00
Pierre Krieger
16e3453b7f
Use the new version of tokio ( #303 )
2018-07-16 12:15:27 +02:00
Pierre Krieger
e74e3f4950
Remove the AsyncRead/Write bounds in ConnectionUpgrade ( #302 )
2018-07-14 14:12:19 +02:00
Pierre Krieger
7c71ffddb2
Remove exposed unimplemented!() in the Kad server ( #298 )
2018-07-14 13:58:16 +02:00
Pierre Krieger
4592d1b21e
SwarmController::dial now returns a Future ( #290 )
...
* SwarmController::dial now returns a Future
* Minor comment
2018-07-14 13:46:11 +02:00
Pierre Krieger
c05e7e0c4e
Two minor swarm tests ( #300 )
2018-07-14 13:31:22 +02:00
Pierre Krieger
5639b04fc5
Fix travis ( #301 )
2018-07-14 09:10:35 +02:00
Pierre Krieger
857c6653ec
Always identify the remote ( #277 )
2018-07-11 14:35:24 +02:00
Pierre Krieger
b3ed7f852a
Fix the authors in multiple Cargo.toml ( #293 )
2018-07-11 13:06:42 +02:00
Pierre Krieger
f104dd9036
Run rustfmt on files that aren't really touched ( #289 )
2018-07-11 11:14:40 +02:00
James Ray
e11fac938e
Fix Thisis ( #292 )
2018-07-11 10:56:48 +02:00
Toralf Wittner
d5602e7687
Add support for yamux multiplexing. ( #284 )
...
* Add support for yamux multiplexing.
* Address review comments.
2018-07-10 14:59:24 +02:00
Qian LinFeng
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
Pierre Krieger
18075f4eaa
Give access to secio ephemeral key ( #280 )
...
* Give access to secio ephemeral key
* Fix tests
2018-07-04 17:07:38 +02:00
Pierre Krieger
03947908b4
Add upgrade::toggleable ( #281 )
...
* Add upgrade::toggleable
* Some minor fixes/improvements
2018-07-03 16:10:15 +02:00
Pierre Krieger
e2690f1c92
Use eth-secp256k1 instead of secp256k1 ( #279 )
2018-07-02 11:56:50 +02:00
Pierre Krieger
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
Pierre Krieger
a7a06aa5ab
Fix wrong endpoint in and_then ( #278 )
2018-06-28 10:24:24 +02:00
Pierre Krieger
143a1845b1
The PeerId is the hash of the protobuf encoding ( #276 )
2018-06-25 17:56:36 +02:00
Pierre Krieger
8997928c5f
Add Peerstore::rm_addr methods ( #274 )
2018-06-25 15:40:35 +02:00
Pierre Krieger
8c4945ffb5
Add a TransportTimeout wrapper ( #234 )
...
* Add a TransportTimeout wrapper
* Add outgoing/ingoing only timeouts
2018-06-25 15:12:39 +02:00
Pierre Krieger
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
Pierre Krieger
de39e321e9
Fix a missing loop in SwarmFuture::poll ( #272 )
2018-06-25 14:29:15 +02:00
Pierre Krieger
0f0ae368b8
Create the parent directory of a JSON datastore ( #270 )
2018-06-22 17:36:30 +02:00
Toralf Wittner
16967abda7
Use tokio-codec. ( #271 )
2018-06-22 16:12:23 +02:00
Pierre Krieger
75df40010b
Make secp256k1 optional ( #266 )
2018-06-22 13:07:57 +02:00
Pierre Krieger
ab96f7efe0
Add loops around stream polling ( #251 )
2018-06-22 11:02:47 +02:00
Pierre Krieger
02bf7604d0
Fix protobuf again ( #269 )
2018-06-21 16:53:23 +02:00
Pierre Krieger
30ffa2f256
Revert to old protobuf generation system ( #268 )
...
* Revert "Remove old protoc scripts and artifacts (#262 )"
This reverts commit 32ef50b8222fa30e3706c90c24e84e821f3fd84f.
* Revert "Use pure-rust protoc (#255 )"
This reverts commit 217fae405f6565d10e010e9e8b5dfd19045120d0.
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
Pierre Krieger
2d4fe77275
Fix kademlia server end ( #254 )
2018-06-21 14:13:25 +02:00
Pierre Krieger
6ed518e9a5
Add logging for multistream handshake ( #260 )
2018-06-21 13:44:07 +02:00
Toralf Wittner
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
Pierre Krieger
1607fcb3f4
Add support for secp256k1 in secio ( #258 )
2018-06-20 09:47:43 +02:00
Pierre Krieger
fd4c5fad44
Remove the observed address from identify protocol ( #253 )
2018-06-19 16:14:27 +02:00
Pierre Krieger
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
Pierre Krieger
8fb919321b
Fix exchange algorithm in secio ( #257 )
2018-06-19 13:57:47 +02:00
Pierre Krieger
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
Pierre Krieger
51471fe2e4
Minor Future simplification in dns ( #248 )
2018-06-11 11:33:45 +02:00
Pierre Krieger
6897eca91f
Lots of improvements to kademlia code ( #243 )
...
* No longer panic when updating self peer ID in kbuckets
* Minor code improvement in flush()
* Small improvement to handle_find_node_req
* expected_pongs no longer mut
* Clean up KadServerInterface trait
* find_node() returns an impl Future
* Rework kad_server's API to remove the interface
* Remove the error mapping in kad_bistream.split()
* Use a name type in protocol.rs
* respond() now takes an iter of Peers + add tests
* Use concrete Future type in kad_server upgrade
* Let the high level code decide the TTL of the addrs
* Replace QueryInterface::send with find_node_rpc
* Replace KademliaProcessingFuture with KademliaPeerReqStream
* requested_peers() now returns an iter
* gen_random_id() only requires &PeerId
* Remove QueryInterface and return stream of events
* Remove add_peer_addrs from query
* Remove the peer_store and record_store params
* Tweak multiaddresses reportin
* Remove dependency on peerstore
* Fix tests
2018-06-07 17:15:19 +02:00
James Ray
c4a92e2493
Update summary of crates with missing crates ( #242 )
...
* Update summary of crates with missing crates
* Add relay and fix line breaks (use soft wrap in the editor)
* Readd an extra at EOF
2018-06-06 13:18:59 +02:00
Pierre Krieger
28fdf23d67
Add some regression tests in libp2p-core ( #237 )
2018-06-05 19:01:18 +02:00
Pierre Krieger
dbbee5756e
Use stronger typing for the public key of identify ( #236 )
...
* Use stronger typing for the public key of identify
* Add PartialEq/Eq implementations
* Fix tests
* Also change is_public_key()
2018-06-05 12:29:59 +02:00
Pierre Krieger
be2fa0e531
Turn warn! into debug! ( #235 )
2018-06-04 15:53:58 +02:00