diff options
| author | lithdew <kenta@lithdew.net> | 2021-04-30 18:17:39 +0900 |
|---|---|---|
| committer | lithdew <kenta@lithdew.net> | 2021-05-03 14:49:10 +0900 |
| commit | 2ab588049e41a96337a4fa8c2d9507320bc4278b (patch) | |
| tree | d4958fc71559cdd4f4c3bd5952e266bfe1dd4499 /lib/std/array_list.zig | |
| parent | c47028cd025f4ce405a9395fa979ff14a3e6349a (diff) | |
| download | zig-2ab588049e41a96337a4fa8c2d9507320bc4278b.tar.gz zig-2ab588049e41a96337a4fa8c2d9507320bc4278b.zip | |
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).
Diffstat (limited to 'lib/std/array_list.zig')
0 files changed, 0 insertions, 0 deletions
