Add support for TLS/TCP

This commit is contained in:
Sasha Koshka 2025-10-17 21:46:17 -04:00
parent 476833709e
commit b3dc633abe
2 changed files with 51 additions and 16 deletions

21
dial.go
View File

@ -18,12 +18,21 @@ type Dialer struct {
TLSConfig *tls.Config TLSConfig *tls.Config
} }
// Dial opens a connection to a server. The network must be one of "quic", // Dial opens a connection to a server. The network must be one of:
// "quic4", (IPv4-only) "quic6" (IPv6-only), or "unix". For now, quic is not //
// supported. // - "quic"
// - "quic4" (IPv4-only)
// - "quic6" (IPv6-only)
// - "tcp"
// - "tcp4" (IPv4-only)
// - "tcp6" (IPv6-only)
// - "unix"
//
// For now, QUIC is unsupported.
func (diale Dialer) Dial(ctx context.Context, network, address string) (Conn, error) { func (diale Dialer) Dial(ctx context.Context, network, address string) (Conn, error) {
switch network { switch network {
case "quic", "quic4", "quic6": return diale.dialQUIC(ctx, network, address) case "quic", "quic4", "quic6": return diale.dialQUIC(ctx, network, address)
case "tcp", "tcp4", "tcp6": return diale.dialTLS(ctx, network, address)
case "unix": return diale.dialUnix(ctx, network, address) case "unix": return diale.dialUnix(ctx, network, address)
default: return nil, ErrUnknownNetwork default: return nil, ErrUnknownNetwork
} }