feat(cli): add server applet

This commit is contained in:
Nils Andreas Svee committed 2026-08-13 19:01:39 +07:00
1 parent ae23e410bb
commit a672f78e86
12 files changed
+530 -27

No files matched your search

+14 -3
View File
@@ -1,7 +1,7 @@
[package]
name = "irtt-cli"
version = "0.4.0"
description = "Command-line IRTT-compatible client"
description = "Command-line IRTT-compatible client and server"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
@@ -28,13 +28,22 @@ name = "irtt-tui"
path = "src/bin/irtt-tui.rs"
required-features = ["tui"]
[[bin]]
name = "irtt-server"
path = "src/bin/irtt-server.rs"
required-features = ["server"]
# This applet shares its name with the irtt-server library crate, whose rustdoc
# output it would otherwise collide with.
doc = false
[features]
default = ["client", "stats"]
default = ["client", "server", "stats"]
client-runtime = ["dep:irtt-client", "irtt-client/tokio", "dep:irtt-proto"]
client = ["client-runtime"]
server = ["dep:irtt-server", "dep:tokio"]
stats = ["client-runtime", "dep:irtt-stats"]
tui = ["client-runtime", "stats", "dep:ratatui", "dep:crossterm"]
full = ["client", "stats", "tui"]
full = ["client", "server", "stats", "tui"]
[dependencies]
clap = { version = "4.6.6", features = ["derive"] }
@@ -42,5 +51,7 @@ crossterm = { version = "0.29.0", optional = true }
ctrlc = "3.5.2"
irtt-client = { workspace = true, optional = true }
irtt-proto = { workspace = true, optional = true }
irtt-server = { workspace = true, optional = true }
irtt-stats = { workspace = true, optional = true }
ratatui = { version = "0.30.2", optional = true }
tokio = { version = "1.53.1", default-features = false, features = ["rt", "time"], optional = true }