dns

package
v0.29.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Parallel

type Parallel []ResolverInterface

func NewParallel

func NewParallel(resolvers ...ResolverInterface) Parallel

NewParallel return parallel resolver

func (Parallel) LookupIPAddr

func (p Parallel) LookupIPAddr(ctx context.Context, host string) ([]net.IPAddr, error)

LookupIPAddr return ip addresses of host, used underly resolvers in parallel If any of resolvers return ips - return sum array of the ips (may duplicated) If all resolvers return error - return any of they errors

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolve IPs for A and AAAA records of domains it use direct dns query without cache

func NewResolver

func NewResolver(dnsServer string) *Resolver

NewResolver return direct dns resolver

func (*Resolver) LookupIPAddr

func (r *Resolver) LookupIPAddr(ctx context.Context, host string) ([]net.IPAddr, error)

type ResolverInterface

type ResolverInterface interface {
	// LookupIPAddr return ip addresses of domain. It MUST finish work when context canceled
	LookupIPAddr(ctx context.Context, host string) ([]net.IPAddr, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL