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