Thanks for your work on cross-usb!
I was curious if you would be interested in a PR to expose nusb::transer::Queue to enable unlock the bus saturation that multiple concurrent transfers brings on native.
I'm imagining that this would look like:
- Expose an async Queue interface that looks very similar to nusb's
- On native these functions would dispatch directly to nusb
- On the web, looks like there's no equivalent API to perform async transfers with multiple buffers, so implement using the existing one at a time functions
Motivation
Especially in the context of SDR, samples are coming in quickly and saturating the bus is a must. In the case of HackRF, even using a long cable can cause issues! https://hackrf.readthedocs.io/en/latest/usb_cables.html
We are close to merging a rust-native hackrf driver into seify to remove our libusb / soapy cpp dependencies. FutureSdr has good support for Wasm, and exposing this interface would allow us to use the same driver across native and web
See: FutureSDR/seify#9 (comment)
Thanks for your work on cross-usb!
I was curious if you would be interested in a PR to expose
nusb::transer::Queueto enable unlock the bus saturation that multiple concurrent transfers brings on native.I'm imagining that this would look like:
Motivation
Especially in the context of SDR, samples are coming in quickly and saturating the bus is a must. In the case of HackRF, even using a long cable can cause issues! https://hackrf.readthedocs.io/en/latest/usb_cables.html
We are close to merging a rust-native hackrf driver into seify to remove our
libusb/ soapy cpp dependencies. FutureSdr has good support for Wasm, and exposing this interface would allow us to use the same driver across native and webSee: FutureSDR/seify#9 (comment)