|
From: Tim R. <ti...@pr...> - 2017-08-16 19:42:20
|
Anand Nahar wrote: > > Why? Not trying to be snotty, but if you're reading large blocks, the > gain from asynchronous processing is not that large. > > * I was wondering, if I have multiple asynchronous transfers lined > up, it would utilize the bandwidth all the time (may be 2 or more > transfers overlap) and not wait for the next transfer to be > initiated. I just wanted to make sure that there is no idle > periods in between 2 consecutive transfers. Right now I have > multiple threads transferring data synchronously to different > devices but this still doesn't guarantee no idle period. > You can't have overlapping transfers. Remember that the model anticipates physical devices, which have one read head that can only be one place at a time. It's all serialized. > "can I submit a second CBW before the first transfer is complete? > > * I have actually tried this. I submit multiple CBW’s and read the > data in their callback functions. It doesn’t seem to work and I > understand why that doesn’t work. I was curious on whether there > is some other approach to this. > I'm a little surprised by that. I would have expected you could submit CBW, read, CBW, read, in that order, all in advance, and it work just fine. However, as I said, I couldn't find support in the spec for that. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |