| 60 | |
| 61 | @dns.immutable.immutable |
| 62 | class ImmutableNode(Node): |
| 63 | def __init__(self, node: Node): |
| 64 | super().__init__() |
| 65 | self.id = node.id |
| 66 | self.rdatasets = tuple( # type: ignore |
| 67 | [dns.rdataset.ImmutableRdataset(rds) for rds in node.rdatasets] |
| 68 | ) |
| 69 | self.flags = node.flags |
| 70 | |
| 71 | def find_rdataset( |
| 72 | self, |
| 73 | rdclass: dns.rdataclass.RdataClass, |
| 74 | rdtype: dns.rdatatype.RdataType, |
| 75 | covers: dns.rdatatype.RdataType = dns.rdatatype.NONE, |
| 76 | create: bool = False, |
| 77 | ) -> dns.rdataset.Rdataset: |
| 78 | if create: |
| 79 | raise TypeError("immutable") |
| 80 | return super().find_rdataset(rdclass, rdtype, covers, False) |
| 81 | |
| 82 | def get_rdataset( |
| 83 | self, |
| 84 | rdclass: dns.rdataclass.RdataClass, |
| 85 | rdtype: dns.rdatatype.RdataType, |
| 86 | covers: dns.rdatatype.RdataType = dns.rdatatype.NONE, |
| 87 | create: bool = False, |
| 88 | ) -> dns.rdataset.Rdataset | None: |
| 89 | if create: |
| 90 | raise TypeError("immutable") |
| 91 | return super().get_rdataset(rdclass, rdtype, covers, False) |
| 92 | |
| 93 | def delete_rdataset( |
| 94 | self, |
| 95 | rdclass: dns.rdataclass.RdataClass, |
| 96 | rdtype: dns.rdatatype.RdataType, |
| 97 | covers: dns.rdatatype.RdataType = dns.rdatatype.NONE, |
| 98 | ) -> None: |
| 99 | raise TypeError("immutable") |
| 100 | |
| 101 | def replace_rdataset(self, replacement: dns.rdataset.Rdataset) -> None: |
| 102 | raise TypeError("immutable") |
| 103 | |
| 104 | def is_immutable(self) -> bool: |
| 105 | return True |
| 106 | |
| 107 | |
| 108 | class Delegations(dns.btree.BTreeSet[dns.name.Name]): |
no outgoing calls
no test coverage detected
searching dependent graphs…