Am 29.02.2016 um 11:20 schrieb ZombineDev:
I'm really interested in your work on a new event loop abstraction. One
of the big issues for the project I'm working on is that the current
implementation is not
@nogc and nothrow (while most of my code that doesn't interact with
vibe.d is nothrow, @nogc and where possible pure).
Another thing that I would like to request is support for
std.experimental.allocator. I need to be able to provide an allocator
through which all vibe-core allocations should happen.
Just to clarify, I'm only interested in having a @nogc/nothrow event
loop, as my project is a rather low-level (it is meant to be used both
from C and D code) and I won't need the other parts of the framework
(like web, db, etc.). And I think it's OK to use the GC for
Everything is @safe and nothrow as far as possible. The plan is also to
basically have no dynamic memory allocations after the warmup phase.
However, @nogc is still difficult, because still a lot of Phobos and
Druntime are not annotated, and because that would mean that all
callbacks would have to be @nogc, too. Especially the latter can only be
solved by converting the API to take callbacks as an alias template
parameter, but if possible I'd like to keep the possibility of passing
an `interface` around to hide the implementation...