aboutsummaryrefslogtreecommitdiff
path: root/src/array.cpp
diff options
context:
space:
mode:
authorChristiano Haesbaert <haesbaert@haesbaert.org>2025-01-12 01:23:34 +0100
committerChristiano Haesbaert <haesbaert@haesbaert.org>2025-01-12 02:41:35 +0100
commit5699c533c6422dd71de2d26297e47c53a3b9e8dc (patch)
tree05fd83678a5b5772327a58f577d92071148a1103 /src/array.cpp
parentcd93e2f6f8bb971e1d33bfc783ce4ab4e7568a5b (diff)
Add net.dial_tcp_from_host{_or_endpoint} and unify them
The main motivation for this is to have sinergy with flags parsing, currently flags for a sockaddr returns a net.Host_Or_Endpoint, but we can't just dial from it since there isn't a variant. Consider the following: ``` Options :: struct { target: net.Host_Or_Endpoint `args:"pos=0,required" usage:"host:port"`, } before :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) { opt: Options flags.parse_or_exit(&opt, os.args) switch t in opt.target { case net.Host: sock, err = net.dial_tcp(t.hostname, t.port) case net.Endpoint: sock, err = net.dial_tcp(t) } return } after :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) { opt: Options flags.parse_or_exit(&opt, os.args) sock, err = net.dial_tcp(opt.target) return } ``` For completion, add dial_tcp_from_host() and define the upper functions in terms of the newly added ones, cuts one repeated block, now: from_hostname_and_port_string is parse + from_host_or_endpoint from_hostname_with_port_override is parse + override + from_host_or_endpoint from_host is to_endpoint + from_endpoint from_host_or_endpoint is from_endpoint or from_host
Diffstat (limited to 'src/array.cpp')
0 files changed, 0 insertions, 0 deletions