EventCore ========= This is a high-performance native event loop abstraction for D, focused on asynchronous I/O and GUI message integration. The API is callback (delegate) based. For a higher level fiber based abstraction, take a look at [vibe.d](https://vibed.org/). [![Build Status](https://travis-ci.org/vibe-d/eventcore.svg?branch=master)](https://travis-ci.org/vibe-d/eventcore) Supported drivers and operating systems --------------------------------------- Driver | Linux | Windows | macOS | FreeBSD ------------------|---------|---------|---------|-------- SelectEventDriver | yes | yes | yes¹ | yes¹ EpollEventDriver | yes | — | — | — WinAPIEventDriver | — | yes | — | — KqueueEventDriver | — | — | yes¹ | yes¹ ¹ planned, but not currenly implemented Driver development status ------------------------- Feature | SelectEventDriver | EpollEventDriver | WinAPIEventDriver | KqueueEventDriver -----------------|-------------------|------------------|-------------------|------------------ TCP Sockets | yes | yes | — | — UDP Sockets | yes | yes | — | — USDS | yes | yes | — | — DNS | yes | yes | — | — Timers | yes | yes | yes | — Events | yes | yes | yes | — Unix Signals | yes² | yes² | — | — Files | yes | yes | yes | — UI Integration | — | — | yes | — File watcher | yes² | yes² | yes | — ² Currently only supported on Linux Open questions -------------- - Error code reporting - Adopting existing file descriptors (done for files) - Enqueued writes