usbip-rs/cli/Cargo.toml
Davíð Steinn Geirsson 4c368c02b5 feat: concurrent ISO pipelining via nusb update and &self handlers
Update nusb to c1380673 which allows multiple IsoEndpoint instances per
address, enabling concurrent URB submission from separate threads.

Change UsbInterfaceHandler trait methods from &mut self to &self and
replace Arc<Mutex<Box<dyn Handler>>> with Arc<dyn Handler>. This
removes the serialization bottleneck where the handler mutex was held
for the entire USB transfer duration, causing ISO audio to play at
~67% speed.

Handlers needing interior mutability (HID, CDC) now use Mutex on
individual fields. Passthrough handlers already used Arc<Mutex<>>
internally and need no changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 15:10:28 +00:00

19 lines
487 B
TOML

[package]
name = "usbip-rs-cli"
version = "0.1.0"
edition = "2024"
license = "MIT"
description = "USB/IP over vsock/TCP CLI tool"
[[bin]]
name = "usbip-rs"
path = "src/main.rs"
[dependencies]
usbip-rs = { path = "../lib" }
clap = { version = "4", features = ["derive"] }
tokio-vsock = "0.7"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "time", "net"] }
log = "0.4"
env_logger = "0.11"
nusb = { git = "https://git.dsg.is/dsg/nusb.git", rev = "c1380673" }