eventcore 0.9.26

Pro-actor based abstraction layer over operating system asynchronous I/O facilities.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

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.

The API documentation is part of vibe.d:

DUB Package Posix and Windows Build Status

Supported drivers and operating systems

DriverLinuxWindowsmacOSFreeBSDAndroidiOS
SelectEventDriveryesyesyesyes¹yesyes
EpollEventDriveryesyes
WinAPIEventDriveryes
KqueueEventDriveryesyes¹yes
CFRunloopEventDriveryesyes
LibasyncEventDriver—¹—¹—¹—¹

¹ planned, but not currenly implemented

Supported compilers

The following compilers are tested and supported:

  • DMD 2.103.0
  • DMD 2.086.1
  • LDC 1.32.0
  • LDC 1.16.0

Driver development status

Feature \ EventDriverSelectEpollWinAPIKqueueCFRunloopLibasync
TCP Socketsyesyesyesyesyes
UDP Socketsyesyesyesyesyes
USDSyesyesyesyes
DNSyesyesyesyesyes
Timersyesyesyesyesyes
Eventsyesyesyesyesyes
Unix Signalsyes²yes
Filesyesyesyesyesyes
UI Integrationyes¹yes¹yesyes¹yes¹
File watcheryes²yesyesyes²yes²
Pipesyesyesyesyes
Processesyesyesyesyes

¹ Manually, by adopting the X11 display connection socket

² Systems other than Linux use a polling implementation

Open questions

  • Error code reporting
  • Enqueued writes
  • Use the type system to prohibit passing thread-local handles to foreign threads
Dependencies:
taggedalgebraic
Versions:
0.9.30 2024-Mar-26
0.9.29 2024-Mar-15
0.9.28 2024-Jan-12
0.9.27 2023-Dec-13
0.9.26 2023-Sep-16
Show all 103 versions
Download Stats:
  • 200 downloads today

  • 2712 downloads this week

  • 15153 downloads this month

  • 1694340 downloads total

Score:
4.7
Short URL:
eventcore.dub.pm