Documentation ¶
Index ¶
- func GetServerTLSConfig(tlsCertFile, tlsKeyFile, tlsMinVersion string, tlsCipherSuites []string) (*tls.Config, error)
- func GetTCPNetwork() string
- func GetUDPNetwork() string
- func IsTrivialNetworkError(err error) bool
- func ParseGroupAddr(addr string) (string, string)
- func ParseTLSVersion(s string) (uint16, error)
- func TCP6Enabled() bool
- type ConnPool
- type TCPDialer
- type TCPListener
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 IsTrivialNetworkError ¶ added in v1.87.0
IsTrivialNetworkError returns true if the err can be ignored during logging.
func ParseGroupAddr ¶
ParseGroupAddr parses `groupID/addrX` addr and returns (groupID, addrX).
If addr doesn't contain `groupID/` prefix, then ("", addr) is returned.
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 ConnPool ¶
type ConnPool struct {
// contains filtered or unexported fields
}
ConnPool is a connection pool with ZSTD-compressed connections.
func NewConnPool ¶
func NewConnPool(ms *metrics.Set, name, addr string, handshakeFunc handshake.Func, compressionLevel int, dialTimeout, userTimeout time.Duration) *ConnPool
NewConnPool creates a new connection pool for the given addr.
Name is used in metrics registered at ms. handshakeFunc is used for handshaking after the connection establishing. The compression is disabled if compressionLevel <= 0.
Call ConnPool.MustStop when the returned ConnPool is no longer needed.
func (*ConnPool) Get ¶
func (cp *ConnPool) Get() (*handshake.BufferedConn, error)
Get returns free connection from the pool.
func (*ConnPool) MustStop ¶
func (cp *ConnPool) MustStop()
MustStop frees up resources occupied by cp.
ConnPool.Get() immediately returns an error after MustStop call. ConnPool.Put() immediately closes the connection returned to the pool.
func (*ConnPool) Put ¶
func (cp *ConnPool) Put(bc *handshake.BufferedConn)
Put puts bc back to the pool.
Do not put broken and closed connections to the pool!
type TCPDialer ¶
type TCPDialer struct {
// contains filtered or unexported fields
}
TCPDialer is used for dialing the addr passed to NewTCPDialer.
It also gathers various stats for dialed connections.
func NewTCPDialer ¶
func NewTCPDialer(ms *metrics.Set, name, addr string, dialTimeout, userTimeout time.Duration) *TCPDialer
NewTCPDialer returns new dialer for dialing the given addr.
The name is used in metric tags for the returned dialer. The name must be unique among dialers.
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