You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.0 KiB
59 lines
2.0 KiB
from typing import Optional, Dict, List, Union
|
|
from io import BytesIO
|
|
from . import exception, name, set, rdatatype, rdata, rdataset
|
|
|
|
class DifferingCovers(exception.DNSException):
|
|
"""An attempt was made to add a DNS SIG/RRSIG whose covered type
|
|
is not the same as that of the other rdatas in the rdataset."""
|
|
|
|
|
|
class IncompatibleTypes(exception.DNSException):
|
|
"""An attempt was made to add DNS RR data of an incompatible type."""
|
|
|
|
|
|
class Rdataset(set.Set):
|
|
def __init__(self, rdclass, rdtype, covers=rdatatype.NONE, ttl=0):
|
|
self.rdclass : int = rdclass
|
|
self.rdtype : int = rdtype
|
|
self.covers : int = covers
|
|
self.ttl : int = ttl
|
|
|
|
def update_ttl(self, ttl : int) -> None:
|
|
...
|
|
|
|
def add(self, rd : rdata.Rdata, ttl : Optional[int] =None):
|
|
...
|
|
|
|
def union_update(self, other : Rdataset):
|
|
...
|
|
|
|
def intersection_update(self, other : Rdataset):
|
|
...
|
|
|
|
def update(self, other : Rdataset):
|
|
...
|
|
|
|
def to_text(self, name : Optional[name.Name] =None, origin : Optional[name.Name] =None, relativize=True,
|
|
override_rdclass : Optional[int] =None, **kw) -> bytes:
|
|
...
|
|
|
|
def to_wire(self, name : Optional[name.Name], file : BytesIO, compress : Optional[Dict[name.Name, int]] = None, origin : Optional[name.Name] = None,
|
|
override_rdclass : Optional[int] = None, want_shuffle=True) -> int:
|
|
...
|
|
|
|
def match(self, rdclass : int, rdtype : int, covers : int) -> bool:
|
|
...
|
|
|
|
|
|
def from_text_list(rdclass : Union[int,str], rdtype : Union[int,str], ttl : int, text_rdatas : str, idna_codec : Optional[name.IDNACodec] = None) -> rdataset.Rdataset:
|
|
...
|
|
|
|
def from_text(rdclass : Union[int,str], rdtype : Union[int,str], ttl : int, *text_rdatas : str) -> rdataset.Rdataset:
|
|
...
|
|
|
|
def from_rdata_list(ttl : int, rdatas : List[rdata.Rdata]) -> rdataset.Rdataset:
|
|
...
|
|
|
|
def from_rdata(ttl : int, *rdatas : List[rdata.Rdata]) -> rdataset.Rdataset:
|
|
...
|