diff options
| author | Christiano Haesbaert <haesbaert@haesbaert.org> | 2025-01-12 01:23:34 +0100 |
|---|---|---|
| committer | Christiano Haesbaert <haesbaert@haesbaert.org> | 2025-01-12 02:41:35 +0100 |
| commit | 5699c533c6422dd71de2d26297e47c53a3b9e8dc (patch) | |
| tree | 05fd83678a5b5772327a58f577d92071148a1103 /src/types.cpp | |
| parent | cd93e2f6f8bb971e1d33bfc783ce4ab4e7568a5b (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/types.cpp')
0 files changed, 0 insertions, 0 deletions