You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.