No description
| examples | ||
| source/eventcore | ||
| tests | ||
| .gitignore | ||
| .travis.yml | ||
| dub.sdl | ||
| README.md | ||
| travis-ci.sh | ||
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.
Supported drivers and operating systems
| Driver | Linux | Windows | OS X | FreeBSD |
|---|---|---|---|---|
| SelectEventDriver | yes | yes¹ | yes¹ | yes¹ |
| EpollEventDriver | yes | no | no | no |
| WinAPIEventDriver | no | yes¹ | no | no |
| KqueueEventDriver | no | no | yes¹ | yes¹ |
¹ planned, but not currenly implemented
Driver development status
| Feature | SelectEventDriver | EpollEventDriver | WinAPIEventDriver | KqueueEventDriver |
|---|---|---|---|---|
| TCP Sockets | yes | yes | no | no |
| UDP Sockets | yes | yes | no | no |
| USDS | yes | yes | no | no |
| DNS | yes | yes | no | no |
| Timers | yes | yes | no | no |
| Events | yes | yes | no | no |
| Signals | yes² | yes² | no | no |
| Files | yes | yes | no | no |
| UI Integration | no | no | no | no |
| File watcher | yes² | yes² | no | no |
² Currently only supported on Linux
Open questions
- Error code reporting
- Adopting existing file descriptors
- Enqueued writes