1261 Commits

Author SHA1 Message Date
Pierre Krieger
663ec7e8da
connection_keep_alive() now returns KeepAlive (#899)
* connection_keep_alive() now returns Option<Instant>

* Use KeepAlive instead of Option<Instant>
2019-01-30 16:37:34 +01:00
Toralf Wittner
bbf56c6371
Update protobuf to version 2.3.0 (#904)
Initially I had hoped that the deprecated `#![allow(clippy)]` would no
longer be put into the generated rust files, but -- as of 2019-01-30 --
it still is (see [1] for details). Since we explicitly update the
protobuf files I decided to *manually edit the generated code* and
replace this with `#![allow(clippy:all)]`. Hopefully, by the time we do
the next upgrade, no such manual tweaking would be necessary anymore. I
think the benefit of a less polluted clippy output is worth it this
time.

[1]: https://github.com/stepancheg/rust-protobuf/pull/332
2019-01-30 16:25:45 +01:00
Pierre Krieger
3b0a322bbd
Use rand 0.6.5 in libp2p-noise (#902) 2019-01-30 16:05:40 +01:00
Toralf Wittner
e23b2733e2
Fix some rustc/clippy warnings. (#895) 2019-01-30 15:41:54 +01:00
Pierre Krieger
a77da73010
Add inject_dial_failure and make addresses_of_peer mut (#901)
* Add inject_dial_failure and make addresses_of_peer mut

* Fix tests
2019-01-30 14:55:39 +01:00
Toralf Wittner
62fd5cd514
Add support for noise IX, XX, and IK handshakes. (#888) 2019-01-30 11:36:00 +01:00
Pierre Krieger
35ec7f053c
Proper shutdown in ProtocolsHandlerSelect (#870)
* Proper shutdown in ProtocolsHandlerSelect

* Fix infinite loop
2019-01-29 19:52:22 +01:00
Pierre Krieger
b8dfa724fd
Add some helpers for substream upgrades (#896)
* Add some helpers for substream upgrades

* Fix compilation

* Fix compilation for 32bits

* Fix some concerns

* Add read_one_then

* Fixes
2019-01-29 16:20:14 +01:00
Dan Robertson
fe4fc8c363 Move final crates to 2018 edition (#886) 2019-01-29 11:02:29 +01:00
Pierre Krieger
073df709dd
Simplify the implementation of Ping (#884) 2019-01-28 15:06:07 +01:00
Pierre Krieger
df923526ca
Embed the topology in the NetworkBehaviour (#889)
* Embed the topology in the NetworkBehaviour

* Put topologies inside of Floodsub and Kad

* Fix core tests

* Fix chat example

* More work

* Some cleanup

* Restore external addresses system
2019-01-26 23:57:53 +01:00
Pierre Krieger
30c082dfe5
Properly shut down protocols handler on useless timeout (#892) 2019-01-25 15:56:32 +01:00
Pierre Krieger
18db0e806b
Add SecioKeypair::ed25519_raw_key (#890) 2019-01-25 15:32:07 +01:00
Pierre Krieger
beceb6ed44
Properly close identify substreams (#893) 2019-01-25 14:38:03 +01:00
Pierre Krieger
f492cb3786
Remove even substream numbers from mplex (#869)
* Remove even substream numbers from mplex

* Add panic on overflow
2019-01-25 11:26:37 +01:00
Pierre Krieger
d9b30c6c6a
Make nodes generic over PeerId (#881) 2019-01-23 17:44:40 +01:00
Toralf Wittner
25433d6dd2
Update ring to version 0.14 (#885)
This release enables RSA signing by default, hence the `rsa_signing` feature has been removed.
2019-01-23 16:09:52 +01:00
Pierre Krieger
14a90fd701
Reexport IdentifyInfo (#877) 2019-01-22 17:42:15 +01:00
Pierre Krieger
a2ab7ff4a9
Simplify the floodsub handler (#868) 2019-01-22 14:45:03 +01:00
badb
d59ec09a83 Add a maximum limit to the number of listeners (#809)
* add max_listeners to swarm

* add swarm builder

* swarm_builder's build takes ownership of self

* replace max listeners with incoming limit

* don't disconnect from node after incoming limit has been reached

* update code according to recent changes

* don't poll listeners at all if incoming connection limit is reached
2019-01-22 11:59:59 +01:00
Dan Robertson
615dd3332f derive(NetworkBehaviour) handles trailing commas (#874)
Properly handle trailing commas in derive(NetworkBehaviour)
2019-01-21 11:56:01 +01:00
Dan Robertson
6d24596f9f Update protocols and transport to 2018 edition (#875)
Update the protocols and transport subdirectories to the 2018 edition.

NB: The websocket transport cannot be moved to 2018 edition due to
websocket-rs's use of the keyword async as the name of a module.
2019-01-21 11:33:51 +01:00
Julian Laubstein
a806c4ac08 Updated installation method in README (#871) 2019-01-19 17:54:49 +01:00
Pierre Krieger
ad27a468f8
Deny connection with local PeerId (#859) 2019-01-17 12:20:02 +01:00
Pierre Krieger
c3e29a2654
Update secio dependencies (#860)
* Update ciphers

* Update asn1_der
2019-01-17 11:31:46 +01:00
Pierre Krieger
1c1ce9a8aa
Bump libp2p-secio and libp2p-core-derive (#857) 2019-01-15 17:35:35 +01:00
Pierre Krieger
4bc5dea27d
Fixes to Kademlia queries (#855)
* Fixes to Kademlia queries

* Bump libp2p-kad to 0.2.1

* Fix bucket_num

* Nicer IDs generation in tests
2019-01-15 17:25:09 +01:00
Pierre Krieger
67a8e705a7
Cache the secp256k1 object in secio (#856)
* Cache the secp256k1 object in secio

* Fix feature flag disabled
2019-01-15 17:14:58 +01:00
Dan Robertson
69abfbb18e Fix custom derive when using a where clause (#853)
When injecting the users where clause we need to ensure a comma is
inserted between the users where clause and ours.
2019-01-15 17:00:56 +01:00
Pierre Krieger
2b4d9786ac
Bump to 0.2.2 (#852) v0.2.2 2019-01-14 19:53:25 +01:00
Pierre Krieger
21d219ef45
Bump to v0.2.1 (#851) v0.2.1 2019-01-14 14:58:07 +01:00
Pierre Krieger
bf52e9bd19
Add IntoNodeHandler and IntoProtocolsHandler traits (#848)
* Add IntoNodeHandler

* Add IntoProtocolsHandler
2019-01-14 14:22:25 +01:00
Pierre Krieger
60db872c31
Improve doc aesthetics (#850) 2019-01-14 14:10:51 +01:00
Pierre Krieger
56c9e57fbd
Fix compilation of ring (#846) 2019-01-13 15:52:12 +01:00
Pierre Krieger
a980074b3f
Add some benchmarks for secio (#847)
* Add some benchmarks for secio

* Switch to criterion

* Fix wrong data size
2019-01-11 12:11:43 +01:00
Pierre Krieger
e39d6d8bd2
Version 0.2 (#841) v0.2.0 2019-01-10 13:27:45 +01:00
Pierre Krieger
b8a312f7d5
Forbid dialing self (#839) 2019-01-10 11:49:36 +01:00
Pierre Krieger
dbff125df2
Add an Error associated type to transports (#835)
* Add an Error associated type to transports

* Improve raw swarm a bit

* Rename map_other to map

* Use source() instead of cause()

* RawSwarmIncErr -> IncomingError
2019-01-10 11:27:06 +01:00
Toralf Wittner
f55a8bc2f3 Update ring to 0.13 (#674) 2019-01-10 11:17:44 +01:00
Pierre Krieger
1e7fcc6d61
Move tests to separate files (#827) 2019-01-09 15:48:56 +01:00
Toralf Wittner
f1959252b7
multistream-select: Less allocations. (#800) 2019-01-09 15:09:35 +01:00
Pierre Krieger
aedf9c0c31
Add more methods on Topology (#826)
* Add more methods on Topology

* Add a DisconnectReason
2019-01-09 13:13:21 +01:00
Pierre Krieger
2aa3c94c4e
Documentation improve to ping and minor improvements (#831) 2019-01-09 11:39:54 +01:00
Pierre Krieger
b1f2ddd4b5
Floodsub now produces FloodsubEvent (#823) 2019-01-07 13:42:47 +01:00
Pierre Krieger
64b388ddd1
Add RawSwarm::incoming_negotiated (#821)
* Add RawSwarm::incoming_negotiated

* More tweaks

* Docfix
2019-01-07 11:54:42 +01:00
Pierre Krieger
5742a0000e
Add documentation to the core (#820) 2019-01-07 11:39:08 +01:00
Pierre Krieger
2eb7fe7c64
Switch libp2p-core to edition 2018 (#819) 2019-01-07 11:21:09 +01:00
Pierre Krieger
7a1af7893a
Add back an integration test (#817) 2019-01-04 16:54:07 +01:00
Pierre Krieger
438b6753a8
Remove assertions in kad protocol (#818) 2019-01-04 16:09:04 +01:00
David
90bafa7b0c Add a setter for split_send_size (#801)
* Add a setter for `split_send_size`

* Cap `split_send_size` to the Mplex max of 1Mbyte
2019-01-04 13:25:51 +01:00