On Friday, 25 October 2013 at 16:53:34 UTC, eris0xff wrote:
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

I did see that someone was putting together a Google GSOC to implement something like this by either wrapping libev/uv or creating a new boost-like asio implementation inside the std libraries.

eris0xff

Reply via email to