Skip to content

Networking Improvements

Carl Gay edited this page Oct 25, 2018 · 3 revisions

Our existing networking library was written long ago and many things can be done better today.

POSIX socket APIs

The existing network code is written with the BSD sockets API in mind. The POSIX sockets API introduces some improvements, particularly with handling IPv4 vs IPv6 addresses.

We should move to support the POSIX APIs, remove the usages of the BSD APIs such as inet_aton, gethostbyname and friends, and switch to using the POSIX equivalents.

Low level vs High level APIs

It would be nice to present a platform independent binding of the POSIX socket APIs for use directly without having to use the stream-oriented APIs that we currently have.

IPv6

Once we're using the POSIX APIs, we should make sure that we have solid coverage of IPv6 support, including a sensible set of classes for handling Internet addresses.

Some work has already been done on this here: https://github.com/dylan-foundry/posix-sockets

Clone this wiki locally