29 releases (8 breaking)

0.9.0 Feb 16, 2021
0.8.0 Sep 8, 2020
0.4.7 Jun 18, 2020
0.4.5 Mar 23, 2020
0.1.0 Nov 9, 2018

#83 in Network programming

Download history 13475/week @ 2021-08-17 16452/week @ 2021-08-24 15479/week @ 2021-08-31 15364/week @ 2021-09-07 16937/week @ 2021-09-14 15128/week @ 2021-09-21 14970/week @ 2021-09-28 15354/week @ 2021-10-05 17670/week @ 2021-10-12 14461/week @ 2021-10-19 13751/week @ 2021-10-26 17224/week @ 2021-11-02 15935/week @ 2021-11-09 16114/week @ 2021-11-16 16785/week @ 2021-11-23 18376/week @ 2021-11-30

70,897 downloads per month
Used in 63 crates (5 directly)

Apache-2.0 OR MIT

120KB
2.5K SLoC

Yamux

A stream multiplexer over reliable, ordered connections such as TCP/IP. Implements https://github.com/hashicorp/yamux/blob/master/spec.md

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

This crate implements the Yamux specification.

It multiplexes independent I/O streams over reliable, ordered connections, such as TCP/IP.

The three primary objects, clients of this crate interact with, are:

  • [Connection], which wraps the underlying I/O resource, e.g. a socket,
  • [Stream], which implements [futures::io::AsyncRead] and [futures::io::AsyncWrite], and
  • [Control], to asynchronously control the [Connection].

Dependencies

~2MB
~38K SLoC