andlabs / andlabs/libui

libuv integration

Open
#427 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
10.9k
Forks
612
PR merge metrics
No merged PRs in 30d

Description

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.

[`libuv`]:

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.