package madns

Import Path
	github.com/multiformats/go-multiaddr-dns (on go.dev)

Dependency Relation
	imports 5 packages, and imported by one package

Involved Source Files mock.go resolve.go util.go
Package-Level Type Names (total 4)
/* sort by: | */
BasicResolver is a low level interface for DNS resolution ( BasicResolver) LookupIPAddr(context.Context, string) ([]net.IPAddr, error) ( BasicResolver) LookupTXT(context.Context, string) ([]string, error) *MockResolver *Resolver github.com/libp2p/go-libp2p/p2p/net/swarm.ResolverFromMaDNS *net.Resolver func WithDefaultResolver(def BasicResolver) Option func WithDomainResolver(domain string, rslv BasicResolver) Option
IP map[string][]net.IPAddr TXT map[string][]string (*MockResolver) LookupIPAddr(ctx context.Context, name string) ([]net.IPAddr, error) (*MockResolver) LookupTXT(ctx context.Context, name string) ([]string, error) *MockResolver : BasicResolver
func WithDefaultResolver(def BasicResolver) Option func WithDomainResolver(domain string, rslv BasicResolver) Option func NewResolver(opts ...Option) (*Resolver, error)
Resolver is an object capable of resolving dns multiaddrs by using one or more BasicResolvers; it supports custom per domain/TLD resolvers. It also implements the BasicResolver interface so that it can act as a custom per domain/TLD resolver. (*Resolver) LookupIPAddr(ctx context.Context, domain string) ([]net.IPAddr, error) (*Resolver) LookupTXT(ctx context.Context, txt string) ([]string, error) Resolve resolves a DNS multiaddr. It will only resolve the first DNS component in the multiaddr. If you need to resolve multiple DNS components, you may call this function again with each returned address. *Resolver : BasicResolver *Resolver : github.com/libp2p/go-libp2p/core/transport.Resolver func NewResolver(opts ...Option) (*Resolver, error) var DefaultResolver *Resolver
Package-Level Functions (total 5)
func Matches(maddr ma.Multiaddr) (matches bool)
NewResolver creates a new Resolver instance with the specified options
WithDefaultResolver is an option that specifies the default basic resolver, which resolves any TLD that doesn't have a custom resolver. Defaults to net.DefaultResolver
WithDomainResolver specifies a custom resolver for a domain/TLD. Custom resolver selection matches domains left to right, with more specific resolvers superseding generic ones.
Package-Level Variables (total 2)