aboutsummaryrefslogtreecommitdiff
path: root/lib/std/array_list.zig
diff options
context:
space:
mode:
authorlithdew <kenta@lithdew.net>2021-04-30 18:17:39 +0900
committerlithdew <kenta@lithdew.net>2021-05-03 14:49:10 +0900
commit2ab588049e41a96337a4fa8c2d9507320bc4278b (patch)
treed4958fc71559cdd4f4c3bd5952e266bfe1dd4499 /lib/std/array_list.zig
parentc47028cd025f4ce405a9395fa979ff14a3e6349a (diff)
downloadzig-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