Skip to content

Commit d15bb69

Browse files
authored
feat(perf): support iperf-style intermittent results
Pull-Request: #4382.
1 parent fcd410a commit d15bb69

File tree

15 files changed

+974
-831
lines changed

15 files changed

+974
-831
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
run: cargo build --package "$CRATE" --no-default-features
5353

5454
- name: Enforce no dependency on meta crate
55-
if: env.CRATE != 'libp2p-server'
55+
if: env.CRATE != 'libp2p-server' && env.CRATE != 'libp2p-perf'
5656
run: |
5757
cargo metadata --format-version=1 --no-deps | \
5858
jq -e -r '.packages[] | select(.name == "'"$CRATE"'") | .dependencies | all(.name != "libp2p")'

Cargo.lock

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ libp2p-metrics = { version = "0.14.0", path = "misc/metrics" }
9090
libp2p-mplex = { version = "0.41.0", path = "muxers/mplex" }
9191
libp2p-muxer-test-harness = { path = "muxers/test-harness" }
9292
libp2p-noise = { version = "0.44.0", path = "transports/noise" }
93-
libp2p-perf = { version = "0.2.0", path = "protocols/perf" }
93+
libp2p-perf = { version = "0.3.0", path = "protocols/perf" }
9494
libp2p-ping = { version = "0.44.0", path = "protocols/ping" }
9595
libp2p-plaintext = { version = "0.41.0", path = "transports/plaintext" }
9696
libp2p-pnet = { version = "0.24.0", path = "transports/pnet" }

protocols/perf/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
## 0.2.0
1+
## 0.3.0 - unreleased
2+
3+
- Continuously measure on single connection (iperf-style).
4+
See https://github.com/libp2p/test-plans/issues/261 for high level overview.
5+
See [PR 4382](https://github.com/libp2p/rust-libp2p/pull/4382).
6+
7+
## 0.2.0
28

39
- Raise MSRV to 1.65.
410
See [PR 3715].

protocols/perf/Cargo.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "libp2p-perf"
33
edition = "2021"
44
rust-version = { workspace = true }
55
description = "libp2p perf protocol implementation"
6-
version = "0.2.0"
6+
version = "0.3.0"
77
authors = ["Max Inden <[email protected]>"]
88
license = "MIT"
99
repository = "https://github.com/libp2p/rust-libp2p"
@@ -12,25 +12,26 @@ categories = ["network-programming", "asynchronous"]
1212

1313
[dependencies]
1414
anyhow = "1"
15-
async-trait = "0.1"
1615
clap = { version = "4.4.6", features = ["derive"] }
1716
env_logger = "0.10.0"
1817
futures = "0.3.28"
18+
futures-bounded = { workspace = true }
19+
futures-timer = "3.0"
1920
instant = "0.1.12"
21+
libp2p = { workspace = true, features = ["tokio", "tcp", "quic", "tls", "yamux", "dns"] }
2022
libp2p-core = { workspace = true }
2123
libp2p-dns = { workspace = true, features = ["tokio"] }
2224
libp2p-identity = { workspace = true, features = ["rand"] }
23-
libp2p-tls = { workspace = true }
2425
libp2p-quic = { workspace = true, features = ["tokio"] }
25-
libp2p-request-response = { workspace = true }
2626
libp2p-swarm = { workspace = true, features = ["macros", "tokio"] }
2727
libp2p-tcp = { workspace = true, features = ["tokio"] }
28+
libp2p-tls = { workspace = true }
2829
libp2p-yamux = { workspace = true }
2930
log = "0.4"
3031
serde = { version = "1.0", features = ["derive"] }
3132
serde_json = "1.0"
3233
thiserror = "1.0"
33-
tokio = { version = "1.33.0", features = ["full"] }
34+
tokio = { version = "1.33", default-features = false, features = ["macros", "rt", "rt-multi-thread"] }
3435
void = "1"
3536

3637
[dev-dependencies]

0 commit comments

Comments
 (0)