Description

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

Package Information

Version0.8.4 (2017-Feb-22)
Repositoryhttps://github.com/vibe-d/eventcore
LicenseMIT
CopyrightCopyright © 2012-2016 rejectedsoftware e.K.
Registered bySönke Ludwig
Dependencies

taggedalgebraic

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

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.

DUB Package Posix Build Status Windows Build Status

Supported drivers and operating systems

DriverLinuxWindowsmacOSFreeBSDAndroidiOS
SelectEventDriveryesyesyesyes¹
EpollEventDriveryes
WinAPIEventDriveryes
KqueueEventDriveryesyes¹
LibasyncEventDriver—¹—¹—¹—¹

¹ planned, but not currenly implemented

Supported compilers

The following compilers are tested and supported:

  • DMD 2.073.0
  • DMD 2.072.2
  • DMD 2.071.2
  • DMD 2.070.2
  • LDC 1.1.0
  • LDC 1.0.0

Driver development status

FeatureSelectEventDriverEpollEventDriverWinAPIEventDriverKqueueEventDriver
TCP Socketsyesyesyes
UDP Socketsyesyesyes
USDSyesyesyes
DNSyesyesyesyes
Timersyesyesyesyes
Eventsyesyesyesyes
Unix Signalsyes²yes²
Filesyesyesyesyes
UI Integrationyes¹yes¹yesyes¹
File watcheryes²yes²yes
FeatureLibasyncEventDriver
TCP Sockets
UDP Sockets
USDS
DNS
Timers
Events
Unix Signals
Files
UI Integration
File watcher

¹ Manually, by adopting the X11 display connection socket

² Currently only supported on Linux

Open questions

  • Error code reporting
  • Adopting existing file descriptors (done for files)
  • Enqueued writes
  • Use the type system to prohibit passing thread-local handles to foreign threads

Available versions

0.8.4 0.8.3 0.8.2 0.8.1 0.8.0 0.7.1 0.7.0 0.6.0 0.5.7 0.5.6 0.5.5 0.5.4 0.5.3 0.5.2 0.5.1 0.5.0 0.4.0 0.3.0 0.2.0 0.1.2 0.1.1 ~master