%PDF- %PDF-
Direktori : /lib/python3/dist-packages/twisted/names/__pycache__/ |
Current File : //lib/python3/dist-packages/twisted/names/__pycache__/root.cpython-312.pyc |
� Ϫ�f�0 � � � d Z ddlmZ ddlmZmZmZ ddlmZ G d� d� Z G d� dej � Zd � Z G d � d� Z dd �Zy)z� Resolver implementation for querying successive authoritative servers to lookup a record, starting from the root nameservers. @author: Jp Calderone todo:: robustify it documentation � )�defer)�common�dns�error)�Failurec � � e Zd ZdZd� Zy)�_DummyControllerz� A do-nothing DNS controller. This is useful when all messages received will be responses to previously issued queries. Anything else received will be ignored. c � � y �N� )�self�argss �4/usr/lib/python3/dist-packages/twisted/names/root.py�messageReceivedz _DummyController.messageReceived s � �� N)�__name__� __module__�__qualname__�__doc__r r r r r r s � �� r r c �6 � e Zd ZdZd d�Zd� Zd� Zd� Zd� Zd� Z y) �Resolverao L{Resolver} implements recursive lookup starting from a specified list of root servers. @ivar hints: See C{hints} parameter of L{__init__} @ivar _maximumQueries: See C{maximumQueries} parameter of L{__init__} @ivar _reactor: See C{reactor} parameter of L{__init__} @ivar _resolverFactory: See C{resolverFactory} parameter of L{__init__} Nc � � t j j | � || _ || _ || _ |�ddlm} || _ y)a� @param hints: A L{list} of L{str} giving the dotted quad representation of IP addresses of root servers at which to begin resolving names. @type hints: L{list} of L{str} @param maximumQueries: An optional L{int} giving the maximum number of queries which will be attempted to resolve a single name. @type maximumQueries: L{int} @param reactor: An optional L{IReactorTime} and L{IReactorUDP} provider to use to bind UDP ports and manage timeouts. @type reactor: L{IReactorTime} and L{IReactorUDP} provider @param resolverFactory: An optional callable which accepts C{reactor} and C{servers} arguments and returns an instance that provides a C{queryUDP} method. Defaults to L{twisted.names.client.Resolver}. @type resolverFactory: callable Nr �r ) r �ResolverBase�__init__�hints�_maximumQueries�_reactor�twisted.names.clientr �_resolverFactory)r r �maximumQueries�reactor�resolverFactorys r r zResolver.__init__+ s? � �* ���$�$�T�*��� �-����� ��"�H� /��r c �` � | j D �cg c] }|t j f�� c}S c c}w )z� Return a list of two-tuples representing the addresses of the root servers, as defined by C{self.hints}. )r r �PORT)r �ips r �_rootszResolver._rootsH s$ � � *.���4�2��S�X�X��4�4��4s �+c � � | j || j �� }|j |g|� }|r|j |j � |S )a� Issue one query and return a L{Deferred} which fires with its response. @param query: The query to issue. @type query: L{dns.Query} @param servers: The servers which might have an answer for this query. @type servers: L{list} of L{tuple} of L{str} and L{int} @param timeout: A timeout on how long to wait for the response. @type timeout: L{tuple} of L{int} @param filter: A flag indicating whether to filter the results. If C{True}, the returned L{Deferred} will fire with a three-tuple of lists of L{twisted.names.dns.RRHeader} (like the return value of the I{lookup*} methods of L{IResolver}. IF C{False}, the result will be a L{Message} instance. @type filter: L{bool} @return: A L{Deferred} which fires with the response or a timeout error. @rtype: L{Deferred} )�serversr"