Implementation of the UsbBus trait of usb-device, which simulates a Bus as a USBIP Server. Useful for developing UsbClass traits and simulating devices.
In release 0.1.6 you updated the version of usb-device to 0.3.0. However this is a breaking change because usb-device is part of the public API (since UsbIpBus implements usb_device::UsbBus).
This means that someone depending on usbip-device = "0.1.5" and usb-device = "0.2.9" will end up with incompatible implementations since cargo will download version0.1.6 of usbip-device.
The path to fixing this issue would be to:
Yank the release 0.1.6
Release the current 0.1.6 as 0.2.0, reflecting the breaking change into the version number
Hi, i really like your project! But can't figure out by myself, is how to simulate two different devices (like in example), but it could be like simulating keyboard + mouse from single ip/port? I've been able to do this in similar usbip project in python using 2 different buses. So client can connect first to 127.0.0.1 3240 1-1 and than to 127.0.0.1 3240 1-2.
As i saw now - bus number is hardcoded in handle op, second problem - when i just to duplicate 2 twitching mouse examples - i got exception about single socket usage "Result::unwrap() on an Err value: Os { code: 10048, kind: AddrInUse".
I'm really new to Rust, and usbip/hid area, so any help or examples would be much appreciated.
I believe this commit should be reverted. Otherwise it is not possible to respond with multiple packets in the same URB, because is_rts will be true as soon as there is a packet available. Or is there something I'm missing to be able to send multiple packets as a response to an URB?