I've been away from D for a while. While I do have Andrei's
book, most of my experience has been with D1 and generally very
positive.
Anyway, I've been doing a fair amount of async, callback-oriented
network programming using libuv in C in my curent project. I'd
like to implement my next version of the project in D version 2.
I don't want to use libuv if there are portable, reliable and
built-in D mechanisms to:
1. Manage multi-threaded, message passing, event-oriented
callback loops.
2. Portable task/thread pools with priority.
3. Transparent select/epoll implementation on POSIX and IO
Completion on Windows.
I'm know that threading and task pools are available and I think
(perhaps) the message send functionality has a priority send.
The transparent event-oriented async I/O is where I get a little
fuzzy in the std/core libraries. I have very little information
on how async I/O is implemented (if at all) in D standard
libraries, especially whether it uses IO completion on Windows.
Please excuse if this isn't completely clear, I'm still working
on 1st cup of coffee.
thx
eris0xff