Skip to content

Commit

Permalink
sync yamux
Browse files Browse the repository at this point in the history
Signed-off-by: onur-ozkan <[email protected]>
  • Loading branch information
onur-ozkan committed Dec 13, 2023
1 parent e7c2fd1 commit 15dd3a3
Show file tree
Hide file tree
Showing 4 changed files with 239 additions and 107 deletions.
27 changes: 23 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 27 additions & 1 deletion muxers/yamux/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,30 @@
## 0.44.0
## 0.45.1

- Deprecate `WindowUpdateMode::on_receive`.
It does not enforce flow-control, i.e. breaks backpressure.
Use `WindowUpdateMode::on_read` instead.
See `yamux` crate version `v0.12.1` and [Yamux PR #177](https://github.com/libp2p/rust-yamux/pull/177).
- `yamux` `v0.13` enables auto-tuning for the Yamux stream receive window.
While preserving small buffers on low-latency and/or low-bandwidth connections, this change allows for high-latency and/or high-bandwidth connections to exhaust the available bandwidth on a single stream.
Have `libp2p-yamux` use `yamux` `v0.13` (new version) by default and fall back to `yamux` `v0.12` (old version) when setting any configuration options.
Thus default users benefit from the increased performance, while power users with custom configurations maintain the old behavior.
`libp2p-yamux` will switch over to `yamux` `v0.13` entirely with the next breaking release.
See [PR 4970](https://github.com/libp2p/rust-libp2p/pull/4970).

## 0.45.0

- Migrate to `{In,Out}boundConnectionUpgrade` traits.
See [PR 4695](https://github.com/libp2p/rust-libp2p/pull/4695).

## 0.44.1

- Update to `yamux` `v0.12` which brings performance improvements and introduces an ACK backlog of 256 inbound streams.
When interacting with other libp2p nodes that are also running this or a newer version, the creation of inbound streams will be backpressured once the ACK backlog is hit.
See [PR 3013].

[PR 3013]: https://github.com/libp2p/rust-libp2p/pull/3013

## 0.44.0

- Raise MSRV to 1.65.
See [PR 3715].
Expand Down
9 changes: 7 additions & 2 deletions muxers/yamux/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]

[dependencies]
either = "1"
futures = "0.3.28"
libp2p-core = { workspace = true }
thiserror = "1.0"
yamux = "0.10.0"
log = "0.4"
yamux012 = { version = "0.12.1", package = "yamux" }
yamux013 = { version = "0.13.1", package = "yamux" }
tracing = "0.1.37"

[dev-dependencies]
async-std = { version = "1.7.0", features = ["attributes"] }
Expand All @@ -27,3 +29,6 @@ libp2p-muxer-test-harness = { path = "../test-harness" }
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
rustc-args = ["--cfg", "docsrs"]

[lints]
workspace = true
Loading

0 comments on commit 15dd3a3

Please sign in to comment.