usbip-rs/lib
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
..
examples feat: concurrent ISO pipelining via nusb update and &self handlers 2026-03-22 15:10:28 +00:00
src feat: concurrent ISO pipelining via nusb update and &self handlers 2026-03-22 15:10:28 +00:00
Cargo.toml feat: concurrent ISO pipelining via nusb update and &self handlers 2026-03-22 15:10:28 +00:00