lithdew 2ab588049e x/os, x/net: layout tcp, ipv4/ipv6, and socket abstractions
The `Socket` abstraction was refactored to only comprise of methods that
can be generically used/applied to all socket domains and protocols.

A more comprehensive IPv4/IPv6 module derived from @LemonBoy's earlier
work was implemented under `std.x.os.IPv4` and `std.x.os.IPv6`. Using
this module, one can then combine them together into a union for example
in order to optimize memory usage when dealing with socket addresses.

A `TCP.Client` and `TCP.Listener` abstraction is introduced that is one
layer over the `Socket` abstraction, which isolates methods that can
only be applied to a "client socket" and a "listening socket". All prior
tests from the `Socket` abstraction, which all previously operated
assuming the socket is operating via. TCP/IP, were moved. All TCP socket
options were also moved into the `TCP.Client` and `TCP.Listener`
abstractions respectively away from the `Socket` abstraction.

Some additional socket options from @LemonBoy's prior PR for Darwin were
also moved in (i.e. SIGNOPIPE).
2021-05-03 14:49:10 +09:00
..
2021-04-25 19:12:49 +02:00
2021-02-25 16:41:42 -07:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-05-01 18:07:26 -04:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-04-15 00:59:40 -07:00
2021-02-21 12:17:59 +02:00
2020-12-31 15:45:24 -08:00
2021-02-28 21:57:43 +02:00