Commit Graph

78 Commits

Author SHA1 Message Date
b213fd7bd7 Add PeerId::random() (#661) 2018-11-20 13:44:36 +01:00
37994b34e7 Behavior -> Behaviour (#650) 2018-11-16 12:59:57 +01:00
1c9091655b Move protocols_handler to the root (#643) 2018-11-15 18:39:20 +01:00
2e549884ef Split ConnectionUpgrade. (#642)
Introduce `InboundUpgrade` and `OutboundUpgrade`.
2018-11-15 17:41:11 +01:00
623728b35d Add a custom derive for NetworkBehaviour (#619)
* Add ProtocolsHandlerSelect

* Add a custom derive for NetworkBehaviour

* Remove 2018 edition

* More work

* Update the tests and work

* Allow ignored fields

* More fixes

* Give access to everything in the poll method
2018-11-12 17:12:47 +01:00
6a7c722ffc Add From<IpAddr> for Multiaddr (#623) 2018-11-12 10:44:18 +01:00
fc63947e7b Add a peer id generator (#583)
* Add a peer id generator

* Improve usage message

* Better help

* Rustfmt
2018-11-02 16:49:28 +01:00
0f3ef5ee0a eg. -> e.g.; ie. -> i.e. via repren (#592)
* eg. -> e.g.; ie. -> i.e. via repren

* se.g. -> seg.
2018-11-02 16:40:00 +01:00
490ae980c7 #399 remove tokio_current_thread tests (#577)
* remove tokio_current_thread tests

* Review changes:
Removed newline
Moved uds tokio test crate to top to avoid self and keep with convention of other test crates
Removed sleep from uds test and block until all futures are completed.
2018-10-25 11:26:37 +02:00
2c98d06942 Change some nat_traversals to consider a prefix. (#550)
Change some `nat_traversal`s to consider a prefix.

Transports should consider only the relevant address prefix.
2018-10-15 16:29:32 +02:00
9bdaabc884 Optimise Multiaddr::append. (#549)
Append to the existing vector instead of allocating a temporary one and
copying bytes over.
2018-10-10 11:07:30 +02:00
fd4ae72f8c multistream-select: use FramedWrite from tokio-codec. (#539) 2018-10-10 09:16:21 +02:00
276bc9c07a multiaddr: explain the use of &str for Unix. (#543)
multiaddr: explain the use of `&str` for `Unix`.

Closes #408.
2018-10-08 14:51:24 +02:00
e05422c05f multiaddr: add support for onion protocol. (#542)
* multiaddr: add support for onion protocol.

* Comment `read_onion`.

* Split onion into address and port parts.
2018-10-08 11:13:00 +02:00
ad0807b3f3 Use unsigned-varints, add BLAKE2 support in multihash (#525)
* Add support for unsigned varints

* Depend on unsigned-varint 0.2 without default features

* Change hash code type from u8 to u64

* Fix hash codes and enum variants for BLAKE2 to fit the standard (see #524)

* Run cargo fmt on crate

* Expand hash_types test to include all variants

* Add support for BLAKE2b-512 and BLAKE2s-256

* Depend on blake2 crate 0.7 with no default features

* Update encode! macro for support for blake2 crate

* Update all tests to include BLAKE2b-512 and BLAKE2s-256

* Reduce hash code size from u64 to u16

* Fix typo in doc comment

* Bump tiny-keccak to version 1.4

* Remove unnecessary default-features = false in Cargo.toml
2018-10-01 09:58:11 +02:00
4fa680e282 Upgrade smallvec version to fix license issue (#526) 2018-09-30 16:18:19 +02:00
b61d9faece multiaddr: future-proof error type (#506) 2018-09-21 10:39:36 +02:00
3f3d81cc95 Map AsyncWrite::shutdown to Sink::close. (#505) 2018-09-21 10:10:45 +02:00
84b089cacc Refactor multiaddr crate. (#498)
Refactor multiaddr crate.

- Remove `AddrComponent`. Instead `Protocol` directly contains its
associated data.

- Various smaller changes around conversions to Multiaddr from other
types, e.g. socket addresses.

- Expand tests to include property tests which test encoding/decoding
identity.
2018-09-20 19:51:00 +02:00
0c43c76965 Implement close() from Sink (#492) 2018-09-17 15:01:37 +02:00
b2756c8fa9 Make Multiaddr::iter borrow data (#478)
* Use `unsigned-varint` crate.

* Implement `Display` for `Protocol`.

Gives `ToString` for free.

* Use `Cow` in `AddrComponent`.

* Add `AddrComponent::acquire`.

* Document `AddrComponent::acquire`.
2018-09-14 10:21:14 +02:00
ea1f172397 Implement Send everywhere (#458) 2018-09-06 09:54:35 +02:00
cd1d81b5d0 Update unsigned-varint crate to v0.2.0 (#447) 2018-09-03 17:19:03 +02:00
b5acf226f9 multistream-select: Include \n in length. (#439)
* multistream-select: Include `\n` in length.

* Add comment to explain the +1.

* Re-enable test.
2018-09-03 11:13:42 +02:00
ccc5aacafc Fix #440 (#441)
* Fix #440

* Ignore failing test
2018-09-03 10:25:16 +02:00
c02dea8128 Introduce several concrete future types. (#433)
* multisteam-select: introduce `DialerFuture`.

* multistream-select: add more concrete futures.

* multistream-select: add ListenerFuture.

* multistream-select: add ListenerSelectFuture

* Formatting.

* Add DialerSelectFuture type alias.

* Add UpgradeApplyFuture and NegotiationFuture.

* In iterator wrappers also pass-through size_hint.

* Minor refactoring.

* Address review comments.

* Add some comments.

* Hide state enums in wrapping structs.
2018-08-30 23:25:16 +02:00
f457ca5490 Correctly encode and decode multistream-select ls. (#438) 2018-08-30 23:13:06 +02:00
2ea49718f3 Clean up directory structure (#426)
* Remove unused circular-buffer crate
* Move transports into subdirectory
* Move misc into subdirectory
* Move stores into subdirectory
* Move multiplexers
* Move protocols
* Move libp2p top layer
* Fix Test: skip doctest if secio isn't enabled
2018-08-29 11:24:44 +02:00