Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Iterate ¶
func Iterate(initial multiaddr.Multiaddr, controller *MultiaddrDNSResolveController, f func(dnsaddr multiaddr.Multiaddr, entries []multiaddr.Multiaddr) error) error
Iterate runs through the resolvable dnsaddrs in the tree using the resolveController and invokes f for each dnsaddr node lookup
func MultiaddrsFromResolver ¶
func MultiaddrsFromResolver(domain string, controller *MultiaddrDNSResolveController) ([]multiaddr.Multiaddr, error)
MultiaddrsFromResolver attempts to recurse through dnsaddrs starting at domain. Any further dnsaddrs will be looked up until all TXT records have been fetched, and the full list of resulting Multiaddrs is returned. It uses the MultiaddrDNSResolveController to cycle through DNS resolvers on failure.
Types ¶
type MultiaddrDNSResolveController ¶
type MultiaddrDNSResolveController struct {
// contains filtered or unexported fields
}
MultiaddrDNSResolveController returns a madns.Resolver, cycling through underlying net.Resolvers
func NewMultiaddrDNSResolveController ¶
func NewMultiaddrDNSResolveController(secure bool, fallbackDNSResolverAddress string) *MultiaddrDNSResolveController
NewMultiaddrDNSResolveController constructs a MultiaddrDNSResolveController
func (*MultiaddrDNSResolveController) NextResolver ¶
func (c *MultiaddrDNSResolveController) NextResolver() *madns.Resolver
NextResolver applies the nextResolvers functions in order and returns the most recent result
func (*MultiaddrDNSResolveController) Resolver ¶
func (c *MultiaddrDNSResolveController) Resolver() *madns.Resolver
Resolver returns the current resolver, invokes NextResolver if the resolver is nil