[GSoC Proposal draft] High-Level Networking

Torarin torarind at gmail.com
Tue Apr 5 16:30:44 PDT 2011


2011/4/4 Max Klyga <max.klyga at gmail.com>:
> Thanks to everyone who provided feedback!
>
> I'll post my proposal update tomorrow.
>
>

I'm looking forward to it too! I've done a fair amount of research on
these topics and given networking in D a lot of thought. I'd prefer
the standard library's socket interface to be more low level than it
is today, and to have a socket type that provides non-blocking IO
transparently through fibers. This enables both generic protocol
implementations that can handle several types of concurrency, and
efficient parsers using buffered input ranges.

I also think the library should offer it's own event loop instead of
linking to libev or libevent, which have their weaknesses in such a
context. For instance, you can't simply hand over garbage collected
objects to them, which is unfortunate given the usefulness of closures
for handling events. I also think a lower-level API than Boost ASIO is
wise, because one may need to use novel and platform-specific
optimizations like linux splice, a must for efficient file servers.

As I mentioned, I have started implementing some of this. Would you be
interested in pairing up with me on some parts of the project?

Best regards, Torarin


More information about the Digitalmars-d mailing list