Ok, so "bloat" was an unfortuante word choice. I agree with you that USB is a complex and "bloated" thing in itself! Building a library to model that is a large task, and I think javax-usb probably does a nice job of it (I haven't really looked at all of it that closely).
My task of just opening a connection to a device and sending/receiving data seemed simple to me, and a simpler library works just fine. Libusb and javax-usb have different goals: libusb is a thin wrapper around the OS USB subsystem (with just a very few convienence additions), and javax-usb is a model of the complete USB spec (with a lot of convenience features!). That's what made me worry about someone wanting to add more to libusb - it would detract from its being just a thin layer. And when you add more stuff, you add more points of failure; and my system works now and I don't want it to break! ;-) -David- PS. I'll go ahead and file that bug. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dan Streetman Sent: Thursday, August 02, 2007 11:35 AM To: [EMAIL PROTECTED] Cc: javax-usb-devel@lists.sourceforge.net Subject: javax.usb performance and bloat You're absolutely right about the performance problem. I still haven't figured out exactly what it is. Did you ever open a defect on javax.usb? Feel free to, and I'll post any info or fixes I find to that. http://sourceforge.net/tracker/?group_id=21114&atid=121114 As far as bloat vs lightweight, javax.usb was designed to accurately and completely represent the USB spec, and have you looked at the USB spec lately? Holy crap, that is huge and bloated. So unfortunately javax.usb is rather large and can be confusing, especially to those unfamiliar with the usb spec. I don't think there is much bloat in javax.usb, at least nothing beyond the task of implementing the spec, and at the same time remaining platform-independent, and being able to handle all those platform-specific quirks out there. The goal was that someone who understood the USB spec could use javax.usb with no knowledge of the platform's details, which I think was mostly achieved. However javax.usb has a limited number of platform implementations so maybe it wasn't all that successful :-) On 8/2/07, David Hooker <[EMAIL PROTECTED]> wrote: > > > :-) Sorry... I was really struggling with getting javax-usb working a few > weeks ago, and sent emails > to the list but wasn't able to solve the problems I had. So I layered my > code so that it would abstract the > underlying usb implementation and use either javax-usb or LibusbJava... and > I got LibusbJava to > work. Javax-usb for some reason caused the machine to slow to a crawal (see > the list archives). > I attribute *my* success with LibusbJava to its lightweight nature compared > to javax-usb, which led > to my comment below. > > I really wasn't trying to disparage javax-usb in any way - in fact, I really > like the way it provides a > rich OO designed interface to the USB subsystem which doesn't require > someone to read > kernel driver code just to figure out what is going on (which I had to do > for libusb!). > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Dan > Streetman > Sent: Thursday, August 02, 2007 10:59 AM > To: [EMAIL PROTECTED] > Cc: Islam Beltagy; javax-usb-devel@lists.sourceforge.net; > [EMAIL PROTECTED] > Subject: Re: [javax-usb-devel] Windows implementation and TCK > > Geez, thanks for the ray of sunshine. Feel free to comment on the technical > points anytime! ;-) > > > On 8/2/07, David Hooker < [EMAIL PROTECTED]> wrote: > > > > > > Libusb is designed as a thin wrapper around the usb subsystem of the OS, > which is exactly > > why I chose it over javax-usb, and it works great for me. I would hate to > see Libusb get bloated > > with a bunch of unnecessary stuff just to support javax-usb running on top > of it. > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > Behalf Of Islam Beltagy > > Sent: Thursday, August 02, 2007 2:57 AM > > To: javax-usb-devel@lists.sourceforge.net > > Subject: [javax-usb-devel] Windows implementation and TCK > > > > Hi, > > > > I am working in the Libusb implementation for Windows. > > I found that the implementation requires these changes: > > 1-In Libusb: > > Build the correct hierarchy of hubs and devices > > Return number of ports of hubs and speed of devices > > Support asynchronous control submission > > Support short packets > > Support the Topology listener > > 2-In the Java implementation: > > Necessary changes after changing Libusb > > Get use of already implemented asynchronous IO > > Get use of already implemented Isochronous pipe. > > > > I hope I can do these changes soon. If you have any comments or help or > advices, they are really appreciated. > > I hope I can pass the TCK. > > > > Thank you for your help > > > > bye > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Splunk Inc. > > Still grepping through log files to find problems? Stop. > > Now Search log events and configuration files using AJAX and a browser. > > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > _______________________________________________ > > javax-usb-devel mailing list > > javax-usb-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/javax-usb-devel > > > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ javax-usb-devel mailing list javax-usb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/javax-usb-devel