Portable Async Programming in D2

eris0xff jvburnes at gmail.com
Fri Oct 25 10:03:12 PDT 2013


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


More information about the Digitalmars-d mailing list