Find a file
Sönke Ludwig 0ee42c4243 Add vibe.d 0.7.x compatible stream definitions.
In contrast to 0.7.x, streams can now be either of class, struct or interface type.
2016-10-26 13:11:28 +02:00
examples/bench-dummy-http-server Update for eventcore 0.5.0 and the latest DMD beta. 2016-10-24 08:22:49 +02:00
source/vibe Add vibe.d 0.7.x compatible stream definitions. 2016-10-26 13:11:28 +02:00
tests Fix test dependency paths. 2016-10-24 08:37:32 +02:00
.gitignore Initial commit. 2016-03-01 20:30:42 +01:00
.travis.yml Remove Travis build configuration selection. 2016-06-18 07:29:05 +02:00
dub.sdl Update for eventcore 0.5.0 and the latest DMD beta. 2016-10-24 08:22:49 +02:00
README.md Update development progress. 2016-10-25 08:57:25 +02:00
travis-ci.sh Fix test script. 2016-10-24 09:21:11 +02:00

vibe.d core module

This is the designated successor of the vibe-d:core sub package of vibe.d 0.7.x. The API is mostly compatible from a library user point of view, but the whole library has received some heavy lifting under the surface, close to a rewrite. Most classes have been replaced by reference counting structs and @safe nothrow attributes are now used throughout the library, whenever possible. Adding @nogc still has to be decided, because of its viral nature.

Another major design change is that instead of the previous driver model, there is now a separate, lower-level event loop abstraction (eventcore) which follows a callback based Proactor pattern. The logic to schedule fibers based on events has been pulled out of this abstraction and is now maintained as a single function, leaving to a huge improvment in terms of robustness (most issues in the previous implementation have probably never surfaced in practice, but there turned out to be lots of hidden bugs).

The development state is still heavy work-in-progress.

Build Status

Progress

Feature State
Task scheduling done
Concurrency done
Streams WIP
DNS lookup done
TCP connections done
UDP connections WIP
File I/O done
Directory watchers done
ManualEvent unstable
Path/URL types WIP