zcompress.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // *** DO NOT MODIFY ***
  2. // AUTOGENERATED BY go generate from compress_generate.go
  3. package dns
  4. func compressionLenHelperType(c map[string]int, r RR) {
  5. switch x := r.(type) {
  6. case *PTR:
  7. compressionLenHelper(c, x.Ptr)
  8. case *SOA:
  9. compressionLenHelper(c, x.Ns)
  10. compressionLenHelper(c, x.Mbox)
  11. case *AFSDB:
  12. compressionLenHelper(c, x.Hostname)
  13. case *HIP:
  14. for i := range x.RendezvousServers {
  15. compressionLenHelper(c, x.RendezvousServers[i])
  16. }
  17. case *LP:
  18. compressionLenHelper(c, x.Fqdn)
  19. case *CNAME:
  20. compressionLenHelper(c, x.Target)
  21. case *MB:
  22. compressionLenHelper(c, x.Mb)
  23. case *RP:
  24. compressionLenHelper(c, x.Mbox)
  25. compressionLenHelper(c, x.Txt)
  26. case *RRSIG:
  27. compressionLenHelper(c, x.SignerName)
  28. case *MF:
  29. compressionLenHelper(c, x.Mf)
  30. case *MINFO:
  31. compressionLenHelper(c, x.Rmail)
  32. compressionLenHelper(c, x.Email)
  33. case *SIG:
  34. compressionLenHelper(c, x.SignerName)
  35. case *SRV:
  36. compressionLenHelper(c, x.Target)
  37. case *TSIG:
  38. compressionLenHelper(c, x.Algorithm)
  39. case *KX:
  40. compressionLenHelper(c, x.Exchanger)
  41. case *MG:
  42. compressionLenHelper(c, x.Mg)
  43. case *NSAPPTR:
  44. compressionLenHelper(c, x.Ptr)
  45. case *PX:
  46. compressionLenHelper(c, x.Map822)
  47. compressionLenHelper(c, x.Mapx400)
  48. case *DNAME:
  49. compressionLenHelper(c, x.Target)
  50. case *MR:
  51. compressionLenHelper(c, x.Mr)
  52. case *MX:
  53. compressionLenHelper(c, x.Mx)
  54. case *TKEY:
  55. compressionLenHelper(c, x.Algorithm)
  56. case *NSEC:
  57. compressionLenHelper(c, x.NextDomain)
  58. case *TALINK:
  59. compressionLenHelper(c, x.PreviousName)
  60. compressionLenHelper(c, x.NextName)
  61. case *MD:
  62. compressionLenHelper(c, x.Md)
  63. case *NAPTR:
  64. compressionLenHelper(c, x.Replacement)
  65. case *NS:
  66. compressionLenHelper(c, x.Ns)
  67. case *RT:
  68. compressionLenHelper(c, x.Host)
  69. }
  70. }
  71. func compressionLenSearchType(c map[string]int, r RR) (int, bool) {
  72. switch x := r.(type) {
  73. case *MG:
  74. k1, ok1 := compressionLenSearch(c, x.Mg)
  75. return k1, ok1
  76. case *PTR:
  77. k1, ok1 := compressionLenSearch(c, x.Ptr)
  78. return k1, ok1
  79. case *AFSDB:
  80. k1, ok1 := compressionLenSearch(c, x.Hostname)
  81. return k1, ok1
  82. case *MB:
  83. k1, ok1 := compressionLenSearch(c, x.Mb)
  84. return k1, ok1
  85. case *MD:
  86. k1, ok1 := compressionLenSearch(c, x.Md)
  87. return k1, ok1
  88. case *MF:
  89. k1, ok1 := compressionLenSearch(c, x.Mf)
  90. return k1, ok1
  91. case *NS:
  92. k1, ok1 := compressionLenSearch(c, x.Ns)
  93. return k1, ok1
  94. case *RT:
  95. k1, ok1 := compressionLenSearch(c, x.Host)
  96. return k1, ok1
  97. case *SOA:
  98. k1, ok1 := compressionLenSearch(c, x.Ns)
  99. k2, ok2 := compressionLenSearch(c, x.Mbox)
  100. return k1 + k2, ok1 && ok2
  101. case *CNAME:
  102. k1, ok1 := compressionLenSearch(c, x.Target)
  103. return k1, ok1
  104. case *MINFO:
  105. k1, ok1 := compressionLenSearch(c, x.Rmail)
  106. k2, ok2 := compressionLenSearch(c, x.Email)
  107. return k1 + k2, ok1 && ok2
  108. case *MR:
  109. k1, ok1 := compressionLenSearch(c, x.Mr)
  110. return k1, ok1
  111. case *MX:
  112. k1, ok1 := compressionLenSearch(c, x.Mx)
  113. return k1, ok1
  114. }
  115. return 0, false
  116. }