There's a space for describing the error properly, but we can't do that
at the moment because mLib's background resolver isn't loved.
###--------------------------------------------------------------------------
### A bulk DNS resolver.
###--------------------------------------------------------------------------
### A bulk DNS resolver.
+class ResolverFailure (Exception):
+ def __init__(me, host, msg):
+ me.host = host
+ me.msg = msg
+ def __str__(me):
+ return "failed to resolve `%s': %s" % (me.host, me.msg)
+
class BulkResolver (object):
"""
Resolve a number of DNS names in parallel.
class BulkResolver (object):
"""
Resolve a number of DNS names in parallel.
"""
addr = me._namemap[host]
if addr is None:
"""
addr = me._namemap[host]
if addr is None:
+ raise ResolverFailure(host, '(unknown failure)')
return addr
def _resolved(me, host, addr):
return addr
def _resolved(me, host, addr):