vibe-core 1.0.0-beta.1

The I/O core library of vibe.d.


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:

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 implementation is mostly finished, except for final production testing.

DUB Package Build Status

Progress

FeatureState
Task schedulingdone
Concurrencydone
Streamsdone (may be subject to smaller changes)
DNS lookupdone
TCP connectionsdone
UDP connectionsdone
File I/Odone
Directory watchersdone
ManualEventdone
Path/URL typesdone

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
Authors:
  • Sönke Ludwig
Dependencies:
eventcore
Versions:
2.8.2 2024-Feb-19
2.8.1 2024-Feb-15
2.8.0 2024-Feb-15
2.7.4 2024-Feb-12
2.7.3 2024-Jan-17
Show all 127 versions
Download Stats:
  • 927 downloads today

  • 9638 downloads this week

  • 26223 downloads this month

  • 1547824 downloads total

Score:
4.6
Short URL:
vibe-core.dub.pm