File: //lib/python3/dist-packages/twisted/names/__pycache__/cache.cpython-310.pyc
o
�b� � @ sF d Z ddlmZ ddlmZmZ ddlmZmZ G dd� dej �Z
dS )z
An in-memory caching resolver.
� )�defer)�common�dns)�failure�logc @ sR e Zd ZdZdZddd�Zdd� Zdd � Zd
d� Zddd
�Z ddd�Z
dd� ZdS )�
CacheResolverz�
A resolver that serves records from a local, memory cache.
@ivar _reactor: A provider of L{interfaces.IReactorTime}.
Nr c C sh t j�| � i | _|| _i | _|d u rddlm} || _|r0|� � D ]\}\}}| �
|||� q"d S d S )Nr )�reactor)r �ResolverBase�__init__�cache�verbose�cancel�twisted.internetr �_reactor�items�cacheResult)�selfr r r �query�seconds�payload� r �5/usr/lib/python3/dist-packages/twisted/names/cache.pyr
s �zCacheResolver.__init__c
C sb || _ | j�� }| j�� D ]!\}\}\}}}|| }|| | D ]
} | j|k r-| j|= nq q
d S �N)�__dict__r r r r �ttl)
r �state�now�k�when�ans�add�ns�diff�recr r r �__setstate__&