[phobos] Status on std.socket and std.socketstream

David Nadlinger code at klickverbot.at
Sun Jun 12 08:26:05 PDT 2011


On 6/12/11 5:09 PM, Jose Armando Garcia wrote:
> What is the status on std.socket and std.socketstream? I see a few
> problems with std.socket. Here are some: it is not RAII, it uses
> obsolete functions, and it is not thread safe.

Its design is … questionable, it doesn't support IPv6, it is one hell of 
a leaky abstraction (you still have to deal with the OS-specific error 
codes, not only the difference between errno on Posix and 
WSAGetLastError on Windows, but also different behavior on the Posixen, 
like in the use of ECONNRESET on peer shutdown).

> I am actually asking all these questions because I am thinking of
> working on this next. Is someone already working on this?

I'm not actively working on a std.socket replacement yet – for now, I'm 
just patching the existing code for use in my GSoC project. I probably 
would have had a look at writing a replacement with IPv6 support, etc. 
later down the road, but I'd be glad if I didn't have to.

> If we decide to replace std.socket what should be the procedure? I am
> thinking of probably deprecating std.socket and adding std.net.

I can't really give an answer here – I would personally go for 
std.net.socket, but it using std.net as second-level package officially 
blessed already?

David


More information about the phobos mailing list