File: //lib/python3.9/site-packages/dns/__pycache__/node.cpython-39.opt-1.pyc
a
�M�ew1 � @ s� d Z ddlZddlZddlmZmZmZ ddlZddl Zddl
ZddlZddlZddl
ZddlZejjhZejjejjejjhZdd� ZejG dd� dej��ZG dd � d �ZejjG d
d� de��ZdS )z)DNS nodes. A node is a set of rdatasets.� N)�Any�Dict�Optionalc C s || v p|t jjko|| v S �N)�dns� rdatatypeZRRSIG)Zrdtypes�rdtype�covers� r
�,/usr/lib/python3.9/site-packages/dns/node.py�_matches_type_or_its_signature, s r c @ sR e Zd ZdZdZdZdZeej j
ej j
d d�dd��Zeejj
d d�d d
��ZdS )�NodeKindzRdatasets in nodesr � � )r r �returnc C s. t t||�rtjS t t||�r$tjS tjS d S r )r �_cname_typesr
�CNAME�_neutral_types�NEUTRAL�REGULAR)�clsr r r
r
r �classify8 s
zNodeKind.classify)�rdatasetr c C s | � |j|j�S r )r r r )r r r
r
r �classify_rdatasetC s zNodeKind.classify_rdatasetN)�__name__�
__module__�__qualname__�__doc__r r r �classmethodr r � RdataTyper r �Rdatasetr r
r
r
r r
0 s �
r
c @ s( e Zd ZdZdgZdd� Zejje e
ef e
d�dd�Zdd � Z
d
d� Zdd
� Zdd� Zdd� Zdd� Zejjdfejjejjejjeejjd�dd�Zejjdfejjejjejjeeejj d�dd�Zejjfejjejjejjdd�dd�Zejjdd�dd �Ze d!�d"d#�Z!ed!�d$d%�Z"dS )&�Nodea� A Node is a set of rdatasets.
A node is either a CNAME node or an "other data" node. A CNAME
node contains only CNAME, KEY, NSEC, and NSEC3 rdatasets along with their
covering RRSIG rdatasets. An "other data" node contains any
rdataset other than a CNAME or RRSIG(CNAME) rdataset. When
changes are made to a node, the CNAME or "other data" state is
always consistent with the update, i.e. the most recent change
wins. For example, if you have a node which contains a CNAME
rdataset, and then add an MX rdataset to it, then the CNAME
rdataset will be deleted. Likewise if you have a node containing
an MX rdataset and add a CNAME rdataset, the MX rdataset will be
deleted.
� rdatasetsc C s
g | _ d S r �r"