class documentation

ThreadedResolver uses a reactor, a threadpool, and socket.gethostbyname to perform name lookups without blocking the reactor thread. It also supports timeouts indepedently from whatever timeout logic socket.gethostbyname might have.

Method __init__ Undocumented
Method getHostByName See twisted.internet.interfaces.IResolverSimple.getHostByName.
Instance Variable reactor The reactor the threadpool of which will be used to call socket.gethostbyname and the I/O thread of which the result will be delivered.
Method _checkTimeout Undocumented
Method _cleanup Undocumented
Method _fail Undocumented
Instance Variable _runningQueries Undocumented
def __init__(self, reactor: ReactorBase): (source)

Undocumented

def getHostByName(self, name: str, timeout: Sequence[int] = (1, 3, 11, 45)) -> Deferred[str]: (source)

See twisted.internet.interfaces.IResolverSimple.getHostByName.

Note that the elements of timeout are summed and the result is used as a timeout for the lookup. Any intermediate timeout or retry logic is left up to the platform via socket.gethostbyname.

The reactor the threadpool of which will be used to call socket.gethostbyname and the I/O thread of which the result will be delivered.

def _checkTimeout(self, result: Union[str, Failure], name: str, lookupDeferred: Deferred[str]): (source)

Undocumented

def _cleanup(self, name: str, lookupDeferred: Deferred[str]): (source)

Undocumented

def _fail(self, name: str, err: str) -> Failure: (source)

Undocumented

Undocumented