commit | ba6b8bcb7ea204e65a3deec3be81aacc9f4b6d5a | [log] [tgz] |
---|---|---|
author | Chris Dickens <christopher.a.dickens@gmail.com> | Mon Aug 10 19:19:21 2020 -0700 |
committer | Chris Dickens <christopher.a.dickens@gmail.com> | Mon Aug 10 19:19:21 2020 -0700 |
tree | 5f9973529ab12e853b36172846c8f26b49ced300 | |
parent | 9576ad4b8f94698aeba5218caf9e9e1f28a6f44d [diff] |
Windows: Use I/O completion ports for transfers As a first step in removing the Windows poll() emulation, switch the transfers to use an I/O completion port. A dedicated per-context thread will wait on the I/O completion port and report transfer completions using usbi_signal_transfer_completion(). This enables the complete removal of the handle_events() function for the Windows backend and removes the notion of one "file descriptor" per transfer. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
(Please use the mailing list rather than mailing developers directly)