File: //usr/lib/python3/dist-packages/twisted/internet/test/__pycache__/test_resolver.cpython-38.pyc
U
W[ON � @ s� d Z ddlmZmZ eZddlmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZmZmZ dd lmZ dd
l!m"Z" ddl#m$Z$m%Z%m&Z& ddl'm(Z(m)Z) dd
l*m+Z+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 G dd� de"e4�Z5dd� Z6dd� Z7G dd� de4�Z8ee�G dd� de4��Z9G dd� de �Z:G dd� de �Z;ee�G dd � d e4��Z<G d!d"� d"e e4�Z=G d#d$� d$e3e4�Z>G d%d&� d&e e4�Z?d'S )(zh
Tests for implementations of L{IHostnameResolver} and their interactions with
reactor implementations.
� )�division�absolute_import)�defaultdict) �getaddrinfo�gaierror�
EAI_NONAME�AF_INET�AF_INET6� AF_UNSPEC�SOCK_STREAM�
SOCK_DGRAM�IPPROTO_TCP)�local�Lock)�implementer)�verifyObject)�IResolutionReceiver�IResolverSimple�IReactorPluggableNameResolver�IHostnameResolver)�SynchronousTestCase)�
ThreadPool)�createMemoryWorker�Team�
LockWorker)�IPv4Address�IPv6Address)�GAIResolver�SimpleResolverComplexifier�ComplexResolverSimplifier)�Deferred)�DNSLookupError)�ReactorBasec @ s e Zd ZdZdd� ZdS )�DeterministicThreadPoolz6
Create a deterministic L{ThreadPool} object.
c C s"