We can provide a cross-platform, high performance, and fully asynchronous I/O library by integrating libuv with libui. This should be optional, but will be very useful for Node.JS, .NET Core, and other consumers.
On systems where we use GTK, we can poll on the libuv file descriptor. On macOS, we can poll on both the libuv file descriptor and the Core Foundation Mach port, and on Windows 10 we can add the IOCP to MsgWaitForSingleObject. On Windows 7 and Windows 8.1, we will need to use a separate thread.
If we would rather avoid undocumented behavior, we can just use a separate thread on Windows and macOS, but I would prefer the higher-performance solution.
We can provide a cross-platform, high performance, and fully asynchronous I/O library by integrating
libuvwith libui. This should be optional, but will be very useful for Node.JS, .NET Core, and other consumers.On systems where we use GTK, we can poll on the libuv file descriptor. On macOS, we can poll on both the libuv file descriptor and the Core Foundation Mach port, and on Windows 10 we can add the IOCP to
MsgWaitForSingleObject. On Windows 7 and Windows 8.1, we will need to use a separate thread.If we would rather avoid undocumented behavior, we can just use a separate thread on Windows and macOS, but I would prefer the higher-performance solution.