33 releases

0.10.2 Aug 5, 2022
0.10.1 Mar 14, 2022
0.10.1-rc.1 Feb 25, 2022
0.9.0 Feb 16, 2021
0.1.0 Nov 9, 2018

#923 in Network programming

Download history 20384/week @ 2022-04-22 20647/week @ 2022-04-29 23212/week @ 2022-05-06 23975/week @ 2022-05-13 22068/week @ 2022-05-20 21394/week @ 2022-05-27 21357/week @ 2022-06-03 23722/week @ 2022-06-10 24390/week @ 2022-06-17 20641/week @ 2022-06-24 21519/week @ 2022-07-01 20366/week @ 2022-07-08 25393/week @ 2022-07-15 24578/week @ 2022-07-22 25062/week @ 2022-07-29 26929/week @ 2022-08-05

106,048 downloads per month
Used in 66 crates (5 directly)

Apache-2.0 OR MIT

135KB
3K 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

~1.7–6.5MB
~113K SLoC