1// Code generated by "go run compress_generate.go"; DO NOT EDIT. 2 3package dns 4 5func compressionLenHelperType(c map[string]int, r RR, initLen int) int { 6 currentLen := initLen 7 switch x := r.(type) { 8 case *AFSDB: 9 currentLen -= len(x.Hostname) + 1 10 currentLen += compressionLenHelper(c, x.Hostname, currentLen) 11 case *CNAME: 12 currentLen -= len(x.Target) + 1 13 currentLen += compressionLenHelper(c, x.Target, currentLen) 14 case *DNAME: 15 currentLen -= len(x.Target) + 1 16 currentLen += compressionLenHelper(c, x.Target, currentLen) 17 case *HIP: 18 for i := range x.RendezvousServers { 19 currentLen -= len(x.RendezvousServers[i]) + 1 20 } 21 for i := range x.RendezvousServers { 22 currentLen += compressionLenHelper(c, x.RendezvousServers[i], currentLen) 23 } 24 case *KX: 25 currentLen -= len(x.Exchanger) + 1 26 currentLen += compressionLenHelper(c, x.Exchanger, currentLen) 27 case *LP: 28 currentLen -= len(x.Fqdn) + 1 29 currentLen += compressionLenHelper(c, x.Fqdn, currentLen) 30 case *MB: 31 currentLen -= len(x.Mb) + 1 32 currentLen += compressionLenHelper(c, x.Mb, currentLen) 33 case *MD: 34 currentLen -= len(x.Md) + 1 35 currentLen += compressionLenHelper(c, x.Md, currentLen) 36 case *MF: 37 currentLen -= len(x.Mf) + 1 38 currentLen += compressionLenHelper(c, x.Mf, currentLen) 39 case *MG: 40 currentLen -= len(x.Mg) + 1 41 currentLen += compressionLenHelper(c, x.Mg, currentLen) 42 case *MINFO: 43 currentLen -= len(x.Rmail) + 1 44 currentLen += compressionLenHelper(c, x.Rmail, currentLen) 45 currentLen -= len(x.Email) + 1 46 currentLen += compressionLenHelper(c, x.Email, currentLen) 47 case *MR: 48 currentLen -= len(x.Mr) + 1 49 currentLen += compressionLenHelper(c, x.Mr, currentLen) 50 case *MX: 51 currentLen -= len(x.Mx) + 1 52 currentLen += compressionLenHelper(c, x.Mx, currentLen) 53 case *NAPTR: 54 currentLen -= len(x.Replacement) + 1 55 currentLen += compressionLenHelper(c, x.Replacement, currentLen) 56 case *NS: 57 currentLen -= len(x.Ns) + 1 58 currentLen += compressionLenHelper(c, x.Ns, currentLen) 59 case *NSAPPTR: 60 currentLen -= len(x.Ptr) + 1 61 currentLen += compressionLenHelper(c, x.Ptr, currentLen) 62 case *NSEC: 63 currentLen -= len(x.NextDomain) + 1 64 currentLen += compressionLenHelper(c, x.NextDomain, currentLen) 65 case *PTR: 66 currentLen -= len(x.Ptr) + 1 67 currentLen += compressionLenHelper(c, x.Ptr, currentLen) 68 case *PX: 69 currentLen -= len(x.Map822) + 1 70 currentLen += compressionLenHelper(c, x.Map822, currentLen) 71 currentLen -= len(x.Mapx400) + 1 72 currentLen += compressionLenHelper(c, x.Mapx400, currentLen) 73 case *RP: 74 currentLen -= len(x.Mbox) + 1 75 currentLen += compressionLenHelper(c, x.Mbox, currentLen) 76 currentLen -= len(x.Txt) + 1 77 currentLen += compressionLenHelper(c, x.Txt, currentLen) 78 case *RRSIG: 79 currentLen -= len(x.SignerName) + 1 80 currentLen += compressionLenHelper(c, x.SignerName, currentLen) 81 case *RT: 82 currentLen -= len(x.Host) + 1 83 currentLen += compressionLenHelper(c, x.Host, currentLen) 84 case *SIG: 85 currentLen -= len(x.SignerName) + 1 86 currentLen += compressionLenHelper(c, x.SignerName, currentLen) 87 case *SOA: 88 currentLen -= len(x.Ns) + 1 89 currentLen += compressionLenHelper(c, x.Ns, currentLen) 90 currentLen -= len(x.Mbox) + 1 91 currentLen += compressionLenHelper(c, x.Mbox, currentLen) 92 case *SRV: 93 currentLen -= len(x.Target) + 1 94 currentLen += compressionLenHelper(c, x.Target, currentLen) 95 case *TALINK: 96 currentLen -= len(x.PreviousName) + 1 97 currentLen += compressionLenHelper(c, x.PreviousName, currentLen) 98 currentLen -= len(x.NextName) + 1 99 currentLen += compressionLenHelper(c, x.NextName, currentLen) 100 case *TKEY: 101 currentLen -= len(x.Algorithm) + 1 102 currentLen += compressionLenHelper(c, x.Algorithm, currentLen) 103 case *TSIG: 104 currentLen -= len(x.Algorithm) + 1 105 currentLen += compressionLenHelper(c, x.Algorithm, currentLen) 106 } 107 return currentLen - initLen 108} 109 110func compressionLenSearchType(c map[string]int, r RR) (int, bool, int) { 111 switch x := r.(type) { 112 case *AFSDB: 113 k1, ok1, sz1 := compressionLenSearch(c, x.Hostname) 114 return k1, ok1, sz1 115 case *CNAME: 116 k1, ok1, sz1 := compressionLenSearch(c, x.Target) 117 return k1, ok1, sz1 118 case *MB: 119 k1, ok1, sz1 := compressionLenSearch(c, x.Mb) 120 return k1, ok1, sz1 121 case *MD: 122 k1, ok1, sz1 := compressionLenSearch(c, x.Md) 123 return k1, ok1, sz1 124 case *MF: 125 k1, ok1, sz1 := compressionLenSearch(c, x.Mf) 126 return k1, ok1, sz1 127 case *MG: 128 k1, ok1, sz1 := compressionLenSearch(c, x.Mg) 129 return k1, ok1, sz1 130 case *MINFO: 131 k1, ok1, sz1 := compressionLenSearch(c, x.Rmail) 132 k2, ok2, sz2 := compressionLenSearch(c, x.Email) 133 return k1 + k2, ok1 && ok2, sz1 + sz2 134 case *MR: 135 k1, ok1, sz1 := compressionLenSearch(c, x.Mr) 136 return k1, ok1, sz1 137 case *MX: 138 k1, ok1, sz1 := compressionLenSearch(c, x.Mx) 139 return k1, ok1, sz1 140 case *NS: 141 k1, ok1, sz1 := compressionLenSearch(c, x.Ns) 142 return k1, ok1, sz1 143 case *PTR: 144 k1, ok1, sz1 := compressionLenSearch(c, x.Ptr) 145 return k1, ok1, sz1 146 case *RT: 147 k1, ok1, sz1 := compressionLenSearch(c, x.Host) 148 return k1, ok1, sz1 149 case *SOA: 150 k1, ok1, sz1 := compressionLenSearch(c, x.Ns) 151 k2, ok2, sz2 := compressionLenSearch(c, x.Mbox) 152 return k1 + k2, ok1 && ok2, sz1 + sz2 153 } 154 return 0, false, 0 155} 156