On 2013.08.04 07:46, Hans de Goede wrote: >> So I may be misremembering things, as the data we seem to derive from >> the first IOCTL isn't used for the topology, but to cache the actual >> config descriptor (which libusb mandates us to cache) and it looks like >> it's really a matter of caching our descriptors on Windows after all. > > Interesting, I think it indeed would be a good idea to have an ondemand > caching of the config descriptors, so do not do the > IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION ioctl until an app actually > asks for the relevant info, I know that currently our documentation says: > > * Get a USB configuration descriptor based on its index. > * This is a non-blocking function which does not involve any requests > being > * sent to the device. > > But we could change it to say that on some platforms this function may > block > the first time it is called for a device, and that only subsequent calls > are guaranteed to be non-blocking. This is not an API / ABI change, so I > see no problem with doing things this way.
I'm actually with you there, as I also see this as the best compromise for the time being. My only concern is with app developers who may be relying on cached/nonblocking, but I guess there's only one way to find out if it's a valid concern... > For starters we could this just inside libusb, without adding the global > daemon / service for caching it. Considering that we've had people very annoyed by those config requests every time we do enum on Windows, I think we definitely want to try to start with this. > But if you prefer to directly go all the way that would be fine with me too. I still have Windows/hotplug and plenty of other niceties to take care of, so a formal server proposal is a very very long way off, especially as, if we can avoid these config requests in most common cases, and our users accept that initial descriptor requests may produce transfers, it will become more of a nice-to-have than a must have. Regards, /Pete ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel