Files

28 lines
646 B
Go

package core
import (
"context"
"net"
"time"
"tailscale.com/tsnet"
)
const dialTimeout = 10 * time.Second
func dialTCP(ctx context.Context, addr string) (net.Conn, error) {
dialer := net.Dialer{Timeout: dialTimeout}
return dialer.DialContext(ctx, "tcp", addr)
}
func dialUDP(ctx context.Context, addr string) (net.Conn, error) {
dialer := net.Dialer{Timeout: dialTimeout}
return dialer.DialContext(ctx, "udp", addr)
}
func dialTsnet(ctx context.Context, srv *tsnet.Server, network, addr string) (net.Conn, error) {
dialCtx, cancel := context.WithTimeout(ctx, dialTimeout)
defer cancel()
return srv.Dial(dialCtx, network, addr)
}