* Introduce NULL cipher and allow more configuration.
* Back to using the hash-code for handshake.
Using `Endpoint` would be incompatible with the existing protocol.
* Add comments.
Retain all incoming buffer elements with different substream ID or equal
Endpoint. The latter was previously not considered which could result in
the removal of data for another substream with same ID but opposite
Endpoint.
* The SwarmFuture is now a Stream
* Return the produced future in the message
* Remove IncomingConnection event
* Pass error when failing to dial
* Fix loop break mistake
* Fix concern
* Rename SwarmFuture to SwarmEvents
* Increase type length limit
* Remove todo
* Stronger typing for the swarm handler future
* The swarm future is now a swarm stream of events
* Rewrite StreamMuxer in core
* Update libp2p_mplex for the new stream muxer
* Update yamux for new stream muxer
* Copyright and test module
* Cosmetic changes
* Put back static constraint in mplex (in case it might be needed in other crates).
* 2018, Send on box.
* Fixes to the mplex implementation
* Fix mem leak and wrong logging message
* Correctly handle Close and Reset
* Check the even-ness of the substream id
* Replace rust-crypto dependency by RustCrypto project crate aes-ctr
* Support for x86 build supporting both aesni and aessoft at runtime.
Feature gated behind 'aes-all'.
Building requires RUSTFLAGS="-C target-feature=+aes,+ssse3" and RUSTDOCFLAGS="-C target-feature=+aes,+ssse3".
Only support x86 case.
* Change CI to build with aes ni on all-features
* Switch aes-all logic (is_x86 runtime test did not work as I thought when
RUSTC aes and sse are enabled).
To build with aes-all, aes and sse flag should not be set.
* Use latest aesni from crates.io (with pr to disable compile time
checks).
* Replace rust-crypto dependency by RustCrypto project crate aes-ctr
* Support for x86 build supporting both aesni and aessoft at runtime.
Feature gated behind 'aes-all'.
Building requires RUSTFLAGS="-C target-feature=+aes,+ssse3" and RUSTDOCFLAGS="-C target-feature=+aes,+ssse3".
Only support x86 case.
* Change CI to build with aes ni on all-features
* Switch aes-all logic (is_x86 runtime test did not work as I thought when
RUSTC aes and sse are enabled).
To build with aes-all, aes and sse flag should not be set.
* Use latest aesni from crates.io (with pr to disable compile time
checks).
* Use Multihash and MultihashRef instead
* Don't use star imports
* Split EncodeError and DecodeError
* Add DecodeOwnedError
* Some cleanup
* Remove Hash::name()
* Some crate root documentation
* Add some more methods
* Fix tests
* Add PartialEq between Multihash and MultihashRef
* Fix the rest of the repo
* Rename hash_data() to digest()
* Add comment about varint
* Remove Error::description impls
* Improve nat_traversal
* Remove the Box for dialing
* Improve multiaddr_to_socketaddr
* Use ? on None
* Use a proper stream for TcpListenStream
* Rustfmt
* Use tk_listen for errors on the listener
* Minor changes
* Fix concerns