frostfs-node/pkg/network/dial.go

27 lines
654 B
Go

package network
import (
"context"
"net"
"time"
manet "github.com/multiformats/go-multiaddr-net"
)
// Dial connects to a remote node by address.
func Dial(ctx context.Context, addr Address) (net.Conn, error) {
return dialContext(ctx, addr, 0)
}
// DialWithTimeout connects to a remote node by address with timeout.
func DialWithTimeout(ctx context.Context, addr Address, timeout time.Duration) (net.Conn, error) {
return dialContext(ctx, addr, timeout)
}
func dialContext(ctx context.Context, addr Address, timeout time.Duration) (net.Conn, error) {
dialer := manet.Dialer{}
dialer.Timeout = timeout
return dialer.DialContext(ctx, addr)
}