Documentation
¶
Index ¶
- Variables
- func DialMaybeSRV(ctx context.Context, network, addr string) (net.Conn, error)
- func EnableIPv6()
- func GetServerTLSConfig(tlsCertFile, tlsKeyFile, tlsMinVersion string, tlsCipherSuites []string) (*tls.Config, error)
- func GetTCPNetwork() string
- func GetUDPNetwork() string
- func IsErrMissingPort(err error) bool
- func IsTrivialNetworkError(err error) bool
- func NewStatDialFunc(metricPrefix string) func(ctx context.Context, network, addr string) (net.Conn, error)
- func NewStatDialFuncWithDial(metricPrefix string, ...) func(ctx context.Context, network, addr string) (net.Conn, error)
- func NormalizeAddr(addr string, defaultPort int) (string, error)
- func ParseTLSVersion(s string) (uint16, error)
- func TCP6Enabled() bool
- type TCPListener
Constants ¶
This section is empty.
Variables ¶
var Dialer = &net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, DualStack: TCP6Enabled(), }
Dialer is default network dialer.
var Resolver resolver
Resolver is default DNS resolver.
Functions ¶
func DialMaybeSRV ¶ added in v1.97.7
DialMaybeSRV dials the given addr.
The addr may be either the usual TCP address or srv+host form, where host is SRV addr. If the addr has srv+host form, then the host is resolved with SRV into randomly chosen TCP address for the connection.
func EnableIPv6 ¶ added in v1.102.23
func EnableIPv6()
EnableIPv6 enables IPv6 for dialing and listening.
func GetServerTLSConfig ¶ added in v1.77.0
func GetServerTLSConfig(tlsCertFile, tlsKeyFile, tlsMinVersion string, tlsCipherSuites []string) (*tls.Config, error)
GetServerTLSConfig returns TLS config for the server.
func GetTCPNetwork ¶ added in v1.56.0
func GetTCPNetwork() string
GetTCPNetwork returns current tcp network.
func GetUDPNetwork ¶ added in v1.56.0
func GetUDPNetwork() string
GetUDPNetwork returns current udp network.
func IsErrMissingPort ¶ added in v1.102.23
IsErrMissingPort checks if the given error is due to a missing port in the address. It is expected to be used to validate error returned by net.SplitHostPort See https://github.com/golang/go/blob/ed08d2ad0928c0fc77cc2053863616ffb58c5aac/src/net/ipsock.go#L167
func IsTrivialNetworkError ¶ added in v1.87.0
IsTrivialNetworkError returns true if the err can be ignored during logging.
func NewStatDialFunc ¶ added in v1.97.7
func NewStatDialFunc(metricPrefix string) func(ctx context.Context, network, addr string) (net.Conn, error)
NewStatDialFunc returns dialer function that supports DNS SRV records and registers stats metrics for conns.
func NewStatDialFuncWithDial ¶ added in v1.97.7
func NewStatDialFuncWithDial(metricPrefix string, dialFunc func(ctx context.Context, network, addr string) (net.Conn, error)) func(ctx context.Context, network, addr string) (net.Conn, error)
NewStatDialFuncWithDial returns dialer function that registers stats metrics for conns.
func NormalizeAddr ¶ added in v1.102.23
NormalizeAddr normalizes the given addr by adding defaultPort if it is missing. It returns the normalized address in the form "host:port". It is expected that addr is in the form "host" or "host:port".
func ParseTLSVersion ¶ added in v1.82.0
ParseTLSVersion returns tls version from the given string s.
func TCP6Enabled ¶ added in v1.34.0
func TCP6Enabled() bool
TCP6Enabled returns true if dialing and listening for IPv4 TCP is enabled.
Types ¶
type TCPListener ¶
TCPListener listens for the addr passed to NewTCPListener.
It also gathers various stats for the accepted connections.
func NewTCPListener ¶
func NewTCPListener(name, addr string, useProxyProtocol bool, tlsConfig *tls.Config) (*TCPListener, error)
NewTCPListener returns new TCP listener for the given addr and optional tlsConfig.
name is used for metrics. Each listener in the program must have a distinct name.
If useProxyProtocol is set to true, then the returned listener accepts TCP connections via proxy protocol. See https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt