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

Reply via email to