Documentation ¶
Index ¶
- Constants
- func ReCreateServer(addr string, resolver *Resolver, mapper *ResolverEnhancer)
- type Config
- type NameServer
- type Resolver
- func (r *Resolver) Exchange(m *dns.Msg) (msg *dns.Msg, err error)
- func (r *Resolver) ExchangeContext(ctx context.Context, m *dns.Msg) (msg *dns.Msg, err error)
- func (r *Resolver) LookupIP(ctx context.Context, host string) (ip []net.IP, err error)
- func (r *Resolver) LookupIPv4(ctx context.Context, host string) ([]net.IP, error)
- func (r *Resolver) LookupIPv6(ctx context.Context, host string) ([]net.IP, error)
- func (r *Resolver) ResolveIP(host string) (ip net.IP, err error)
- func (r *Resolver) ResolveIPv4(host string) (ip net.IP, err error)
- func (r *Resolver) ResolveIPv6(host string) (ip net.IP, err error)
- type ResolverEnhancer
- type Server
Constants ¶
Variables ¶
This section is empty.
Functions ¶
func ReCreateServer ¶
func ReCreateServer(addr string, resolver *Resolver, mapper *ResolverEnhancer)
Types ¶
type Config ¶
type Config struct { NameServers []NameServer Hosts *trie.DomainTrie }
type NameServer ¶
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
func NewResolver ¶
func (*Resolver) ExchangeContext ¶
ExchangeContext a batch of dns request with context.Context, and it use cache
func (*Resolver) LookupIPv4 ¶
LookupIPv4 request with TypeA
func (*Resolver) LookupIPv6 ¶
LookupIPv6 request with TypeAAAA
func (*Resolver) ResolveIPv4 ¶
ResolveIPv4 request with TypeA
type ResolverEnhancer ¶
type ResolverEnhancer struct {
// contains filtered or unexported fields
}
func NewEnhancer ¶
func NewEnhancer() *ResolverEnhancer
func (*ResolverEnhancer) FindHostByIP ¶
func (h *ResolverEnhancer) FindHostByIP(ip net.IP) (string, bool)
func (*ResolverEnhancer) MappingEnabled ¶
func (h *ResolverEnhancer) MappingEnabled() bool
func (*ResolverEnhancer) PatchFrom ¶
func (h *ResolverEnhancer) PatchFrom(o *ResolverEnhancer)
Click to show internal directories.
Click to hide internal directories.