Documentation
¶
Index ¶
- type Picker
- func (p *Picker) DoHServer(servers []provider.DoHServer) provider.DoHServer
- func (p *Picker) DoTAddrPort(server provider.DoTServer, ipv6 bool) netip.AddrPort
- func (p *Picker) DoTServer(servers []provider.DoTServer) provider.DoTServer
- func (p *Picker) PlainAddrPort(server provider.PlainServer, ipv6 bool) netip.AddrPort
- func (p *Picker) PlainServer(servers []provider.PlainServer) provider.PlainServer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Picker ¶
type Picker struct {
// contains filtered or unexported fields
}
func New ¶
func New() *Picker
New returns a new fast thread safe random picker to use for DNS servers and their IP addresses.
func (*Picker) DoTAddrPort ¶
DotAddrPort returns a randomly picked IP address and port from the given DoT server. If ipv6 is true, IPv6 addresses are added to the pool of IP addresses to pick from, on top of all IPv4 addresses. Note IPv4 addresses are always in the pool of addresses, because some providers only have IPv4 addresses, and IPv4 usually works on an IPv6 network, which is not true the other way around.
func (*Picker) PlainAddrPort ¶
PlainAddrPort returns a randomly picked IP address and port from the given plain server. If ipv6 is true, IPv6 addresses are added to the pool of IP addresses to pick from, on top of all IPv4 addresses. Note IPv4 addresses are always in the pool of addresses, because some providers only have IPv4 addresses, and IPv4 usually works on an IPv6 network, which is not true the other way around.
func (*Picker) PlainServer ¶
func (p *Picker) PlainServer(servers []provider.PlainServer) provider.PlainServer