Dnsruby 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. data/README +34 -0
  2. data/doc/classes/Dnsruby/Classes.html +197 -0
  3. data/doc/classes/Dnsruby/Classes.src/M000157.html +23 -0
  4. data/doc/classes/Dnsruby/Classes.src/M000158.html +19 -0
  5. data/doc/classes/Dnsruby/CodeMapper.html +370 -0
  6. data/doc/classes/Dnsruby/CodeMapper.src/M000130.html +18 -0
  7. data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +33 -0
  8. data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +21 -0
  9. data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +19 -0
  10. data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +19 -0
  11. data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +18 -0
  12. data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +22 -0
  13. data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +22 -0
  14. data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +22 -0
  15. data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +31 -0
  16. data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +19 -0
  17. data/doc/classes/Dnsruby/Config.html +410 -0
  18. data/doc/classes/Dnsruby/Config.src/M000098.html +18 -0
  19. data/doc/classes/Dnsruby/Config.src/M000099.html +19 -0
  20. data/doc/classes/Dnsruby/Config.src/M000100.html +19 -0
  21. data/doc/classes/Dnsruby/Config.src/M000101.html +21 -0
  22. data/doc/classes/Dnsruby/Config.src/M000102.html +21 -0
  23. data/doc/classes/Dnsruby/Config.src/M000103.html +38 -0
  24. data/doc/classes/Dnsruby/Config.src/M000104.html +26 -0
  25. data/doc/classes/Dnsruby/Config.src/M000105.html +22 -0
  26. data/doc/classes/Dnsruby/Config.src/M000106.html +23 -0
  27. data/doc/classes/Dnsruby/Config.src/M000107.html +22 -0
  28. data/doc/classes/Dnsruby/Config.src/M000108.html +18 -0
  29. data/doc/classes/Dnsruby/DNS/DecodeError.html +111 -0
  30. data/doc/classes/Dnsruby/DNS/EncodeError.html +111 -0
  31. data/doc/classes/Dnsruby/DNS.html +469 -0
  32. data/doc/classes/Dnsruby/DNS.src/M000196.html +24 -0
  33. data/doc/classes/Dnsruby/DNS.src/M000197.html +18 -0
  34. data/doc/classes/Dnsruby/DNS.src/M000198.html +18 -0
  35. data/doc/classes/Dnsruby/DNS.src/M000199.html +20 -0
  36. data/doc/classes/Dnsruby/DNS.src/M000200.html +19 -0
  37. data/doc/classes/Dnsruby/DNS.src/M000201.html +20 -0
  38. data/doc/classes/Dnsruby/DNS.src/M000202.html +18 -0
  39. data/doc/classes/Dnsruby/DNS.src/M000203.html +19 -0
  40. data/doc/classes/Dnsruby/DNS.src/M000204.html +20 -0
  41. data/doc/classes/Dnsruby/DNS.src/M000205.html +28 -0
  42. data/doc/classes/Dnsruby/DNS.src/M000206.html +19 -0
  43. data/doc/classes/Dnsruby/DNS.src/M000207.html +20 -0
  44. data/doc/classes/Dnsruby/DNS.src/M000208.html +41 -0
  45. data/doc/classes/Dnsruby/DNS.src/M000209.html +32 -0
  46. data/doc/classes/Dnsruby/DNS.src/M000210.html +50 -0
  47. data/doc/classes/Dnsruby/DNSSEC/Algorithms.html +154 -0
  48. data/doc/classes/Dnsruby/DNSSEC.html +111 -0
  49. data/doc/classes/Dnsruby/DecodeError.html +111 -0
  50. data/doc/classes/Dnsruby/EncodeError.html +111 -0
  51. data/doc/classes/Dnsruby/FormErr.html +113 -0
  52. data/doc/classes/Dnsruby/Header.html +516 -0
  53. data/doc/classes/Dnsruby/Header.src/M000168.html +35 -0
  54. data/doc/classes/Dnsruby/Header.src/M000169.html +18 -0
  55. data/doc/classes/Dnsruby/Header.src/M000170.html +18 -0
  56. data/doc/classes/Dnsruby/Header.src/M000171.html +21 -0
  57. data/doc/classes/Dnsruby/Header.src/M000172.html +20 -0
  58. data/doc/classes/Dnsruby/Header.src/M000173.html +32 -0
  59. data/doc/classes/Dnsruby/Header.src/M000174.html +26 -0
  60. data/doc/classes/Dnsruby/Header.src/M000175.html +47 -0
  61. data/doc/classes/Dnsruby/Header.src/M000176.html +28 -0
  62. data/doc/classes/Dnsruby/Header.src/M000177.html +18 -0
  63. data/doc/classes/Dnsruby/Header.src/M000178.html +18 -0
  64. data/doc/classes/Dnsruby/Header.src/M000179.html +30 -0
  65. data/doc/classes/Dnsruby/Hosts.html +305 -0
  66. data/doc/classes/Dnsruby/Hosts.src/M000141.html +20 -0
  67. data/doc/classes/Dnsruby/Hosts.src/M000142.html +49 -0
  68. data/doc/classes/Dnsruby/Hosts.src/M000143.html +19 -0
  69. data/doc/classes/Dnsruby/Hosts.src/M000144.html +20 -0
  70. data/doc/classes/Dnsruby/Hosts.src/M000145.html +21 -0
  71. data/doc/classes/Dnsruby/Hosts.src/M000146.html +19 -0
  72. data/doc/classes/Dnsruby/Hosts.src/M000147.html +20 -0
  73. data/doc/classes/Dnsruby/Hosts.src/M000148.html +21 -0
  74. data/doc/classes/Dnsruby/IPv4.html +298 -0
  75. data/doc/classes/Dnsruby/IPv4.src/M000149.html +32 -0
  76. data/doc/classes/Dnsruby/IPv4.src/M000150.html +21 -0
  77. data/doc/classes/Dnsruby/IPv4.src/M000151.html +18 -0
  78. data/doc/classes/Dnsruby/IPv4.src/M000152.html +18 -0
  79. data/doc/classes/Dnsruby/IPv4.src/M000153.html +19 -0
  80. data/doc/classes/Dnsruby/IPv4.src/M000154.html +18 -0
  81. data/doc/classes/Dnsruby/IPv4.src/M000155.html +18 -0
  82. data/doc/classes/Dnsruby/IPv4.src/M000156.html +18 -0
  83. data/doc/classes/Dnsruby/IPv6.html +318 -0
  84. data/doc/classes/Dnsruby/IPv6.src/M000180.html +60 -0
  85. data/doc/classes/Dnsruby/IPv6.src/M000181.html +21 -0
  86. data/doc/classes/Dnsruby/IPv6.src/M000182.html +22 -0
  87. data/doc/classes/Dnsruby/IPv6.src/M000183.html +18 -0
  88. data/doc/classes/Dnsruby/IPv6.src/M000184.html +21 -0
  89. data/doc/classes/Dnsruby/IPv6.src/M000185.html +18 -0
  90. data/doc/classes/Dnsruby/IPv6.src/M000186.html +18 -0
  91. data/doc/classes/Dnsruby/IPv6.src/M000187.html +18 -0
  92. data/doc/classes/Dnsruby/Message.html +689 -0
  93. data/doc/classes/Dnsruby/Message.src/M000076.html +34 -0
  94. data/doc/classes/Dnsruby/Message.src/M000077.html +26 -0
  95. data/doc/classes/Dnsruby/Message.src/M000078.html +22 -0
  96. data/doc/classes/Dnsruby/Message.src/M000079.html +20 -0
  97. data/doc/classes/Dnsruby/Message.src/M000080.html +20 -0
  98. data/doc/classes/Dnsruby/Message.src/M000081.html +20 -0
  99. data/doc/classes/Dnsruby/Message.src/M000082.html +20 -0
  100. data/doc/classes/Dnsruby/Message.src/M000083.html +20 -0
  101. data/doc/classes/Dnsruby/Message.src/M000084.html +21 -0
  102. data/doc/classes/Dnsruby/Message.src/M000085.html +20 -0
  103. data/doc/classes/Dnsruby/Message.src/M000086.html +18 -0
  104. data/doc/classes/Dnsruby/Message.src/M000087.html +54 -0
  105. data/doc/classes/Dnsruby/Message.src/M000088.html +42 -0
  106. data/doc/classes/Dnsruby/Message.src/M000089.html +45 -0
  107. data/doc/classes/Dnsruby/MetaTypes.html +136 -0
  108. data/doc/classes/Dnsruby/Modes.html +171 -0
  109. data/doc/classes/Dnsruby/NXDomain.html +113 -0
  110. data/doc/classes/Dnsruby/Name/Label.html +300 -0
  111. data/doc/classes/Dnsruby/Name/Label.src/M000067.html +21 -0
  112. data/doc/classes/Dnsruby/Name/Label.src/M000068.html +18 -0
  113. data/doc/classes/Dnsruby/Name/Label.src/M000069.html +22 -0
  114. data/doc/classes/Dnsruby/Name/Label.src/M000070.html +18 -0
  115. data/doc/classes/Dnsruby/Name/Label.src/M000071.html +18 -0
  116. data/doc/classes/Dnsruby/Name/Label.src/M000072.html +18 -0
  117. data/doc/classes/Dnsruby/Name/Label.src/M000073.html +18 -0
  118. data/doc/classes/Dnsruby/Name/Label.src/M000074.html +18 -0
  119. data/doc/classes/Dnsruby/Name/Label.src/M000075.html +18 -0
  120. data/doc/classes/Dnsruby/Name.html +357 -0
  121. data/doc/classes/Dnsruby/Name.src/M000057.html +28 -0
  122. data/doc/classes/Dnsruby/Name.src/M000058.html +20 -0
  123. data/doc/classes/Dnsruby/Name.src/M000059.html +18 -0
  124. data/doc/classes/Dnsruby/Name.src/M000060.html +18 -0
  125. data/doc/classes/Dnsruby/Name.src/M000061.html +21 -0
  126. data/doc/classes/Dnsruby/Name.src/M000062.html +19 -0
  127. data/doc/classes/Dnsruby/Name.src/M000064.html +22 -0
  128. data/doc/classes/Dnsruby/Name.src/M000065.html +18 -0
  129. data/doc/classes/Dnsruby/Name.src/M000066.html +20 -0
  130. data/doc/classes/Dnsruby/NotImp.html +113 -0
  131. data/doc/classes/Dnsruby/OpCode.html +146 -0
  132. data/doc/classes/Dnsruby/OtherResolvError.html +113 -0
  133. data/doc/classes/Dnsruby/QTypes.html +146 -0
  134. data/doc/classes/Dnsruby/Question.html +256 -0
  135. data/doc/classes/Dnsruby/Question.src/M000166.html +47 -0
  136. data/doc/classes/Dnsruby/Question.src/M000167.html +18 -0
  137. data/doc/classes/Dnsruby/RCode.html +211 -0
  138. data/doc/classes/Dnsruby/RR/ANY.html +133 -0
  139. data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +169 -0
  140. data/doc/classes/Dnsruby/RR/CERT.html +180 -0
  141. data/doc/classes/Dnsruby/RR/CNAME.html +150 -0
  142. data/doc/classes/Dnsruby/RR/DNAME.html +150 -0
  143. data/doc/classes/Dnsruby/RR/DomainName.html +175 -0
  144. data/doc/classes/Dnsruby/RR/DomainName.src/M000051.html +22 -0
  145. data/doc/classes/Dnsruby/RR/Generic.html +156 -0
  146. data/doc/classes/Dnsruby/RR/Generic.src/M000041.html +25 -0
  147. data/doc/classes/Dnsruby/RR/HINFO.html +155 -0
  148. data/doc/classes/Dnsruby/RR/IN/A.html +199 -0
  149. data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +18 -0
  150. data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +18 -0
  151. data/doc/classes/Dnsruby/RR/IN/A.src/M000020.html +18 -0
  152. data/doc/classes/Dnsruby/RR/IN/AAAA.html +138 -0
  153. data/doc/classes/Dnsruby/RR/IN/AFSDB.html +145 -0
  154. data/doc/classes/Dnsruby/RR/IN/PX.html +143 -0
  155. data/doc/classes/Dnsruby/RR/IN/SRV.html +243 -0
  156. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +29 -0
  157. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +26 -0
  158. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000017.html +22 -0
  159. data/doc/classes/Dnsruby/RR/IN/WKS.html +166 -0
  160. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000021.html +20 -0
  161. data/doc/classes/Dnsruby/RR/IN.html +155 -0
  162. data/doc/classes/Dnsruby/RR/ISDN.html +155 -0
  163. data/doc/classes/Dnsruby/RR/LOC.html +395 -0
  164. data/doc/classes/Dnsruby/RR/LOC.src/M000025.html +32 -0
  165. data/doc/classes/Dnsruby/RR/LOC.src/M000026.html +23 -0
  166. data/doc/classes/Dnsruby/RR/LOC.src/M000027.html +25 -0
  167. data/doc/classes/Dnsruby/RR/LOC.src/M000028.html +21 -0
  168. data/doc/classes/Dnsruby/RR/LOC.src/M000029.html +20 -0
  169. data/doc/classes/Dnsruby/RR/LOC.src/M000030.html +23 -0
  170. data/doc/classes/Dnsruby/RR/MB.html +150 -0
  171. data/doc/classes/Dnsruby/RR/MG.html +150 -0
  172. data/doc/classes/Dnsruby/RR/MINFO.html +156 -0
  173. data/doc/classes/Dnsruby/RR/MR.html +150 -0
  174. data/doc/classes/Dnsruby/RR/MX.html +155 -0
  175. data/doc/classes/Dnsruby/RR/NAPTR.html +190 -0
  176. data/doc/classes/Dnsruby/RR/NS.html +150 -0
  177. data/doc/classes/Dnsruby/RR/NSAP.html +293 -0
  178. data/doc/classes/Dnsruby/RR/NSAP.src/M000053.html +19 -0
  179. data/doc/classes/Dnsruby/RR/NSAP.src/M000054.html +19 -0
  180. data/doc/classes/Dnsruby/RR/NSAP.src/M000055.html +22 -0
  181. data/doc/classes/Dnsruby/RR/NSAP.src/M000056.html +31 -0
  182. data/doc/classes/Dnsruby/RR/PTR.html +132 -0
  183. data/doc/classes/Dnsruby/RR/RP.html +183 -0
  184. data/doc/classes/Dnsruby/RR/RP.src/M000050.html +19 -0
  185. data/doc/classes/Dnsruby/RR/RT.html +155 -0
  186. data/doc/classes/Dnsruby/RR/SOA.html +230 -0
  187. data/doc/classes/Dnsruby/RR/SOA.src/M000039.html +24 -0
  188. data/doc/classes/Dnsruby/RR/SOA.src/M000040.html +27 -0
  189. data/doc/classes/Dnsruby/RR/SPF.html +138 -0
  190. data/doc/classes/Dnsruby/RR/TKEY.html +285 -0
  191. data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +19 -0
  192. data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +29 -0
  193. data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +30 -0
  194. data/doc/classes/Dnsruby/RR/TSIG.html +416 -0
  195. data/doc/classes/Dnsruby/RR/TSIG.src/M000042.html +22 -0
  196. data/doc/classes/Dnsruby/RR/TSIG.src/M000043.html +71 -0
  197. data/doc/classes/Dnsruby/RR/TSIG.src/M000044.html +34 -0
  198. data/doc/classes/Dnsruby/RR/TSIG.src/M000045.html +37 -0
  199. data/doc/classes/Dnsruby/RR/TSIG.src/M000046.html +31 -0
  200. data/doc/classes/Dnsruby/RR/TSIG.src/M000047.html +34 -0
  201. data/doc/classes/Dnsruby/RR/TSIG.src/M000048.html +22 -0
  202. data/doc/classes/Dnsruby/RR/TSIG.src/M000049.html +29 -0
  203. data/doc/classes/Dnsruby/RR/TXT.html +233 -0
  204. data/doc/classes/Dnsruby/RR/TXT.src/M000034.html +18 -0
  205. data/doc/classes/Dnsruby/RR/TXT.src/M000035.html +18 -0
  206. data/doc/classes/Dnsruby/RR/TXT.src/M000036.html +20 -0
  207. data/doc/classes/Dnsruby/RR/TXT.src/M000037.html +27 -0
  208. data/doc/classes/Dnsruby/RR/TXT.src/M000038.html +25 -0
  209. data/doc/classes/Dnsruby/RR/X25.html +203 -0
  210. data/doc/classes/Dnsruby/RR/X25.src/M000031.html +18 -0
  211. data/doc/classes/Dnsruby/RR/X25.src/M000032.html +18 -0
  212. data/doc/classes/Dnsruby/RR/X25.src/M000033.html +22 -0
  213. data/doc/classes/Dnsruby/RR.html +620 -0
  214. data/doc/classes/Dnsruby/RR.src/M000001.html +18 -0
  215. data/doc/classes/Dnsruby/RR.src/M000002.html +22 -0
  216. data/doc/classes/Dnsruby/RR.src/M000003.html +18 -0
  217. data/doc/classes/Dnsruby/RR.src/M000004.html +18 -0
  218. data/doc/classes/Dnsruby/RR.src/M000005.html +18 -0
  219. data/doc/classes/Dnsruby/RR.src/M000006.html +36 -0
  220. data/doc/classes/Dnsruby/RR.src/M000007.html +100 -0
  221. data/doc/classes/Dnsruby/RR.src/M000008.html +18 -0
  222. data/doc/classes/Dnsruby/RR.src/M000009.html +18 -0
  223. data/doc/classes/Dnsruby/RR.src/M000010.html +22 -0
  224. data/doc/classes/Dnsruby/RR.src/M000011.html +22 -0
  225. data/doc/classes/Dnsruby/RR.src/M000012.html +18 -0
  226. data/doc/classes/Dnsruby/RR.src/M000013.html +22 -0
  227. data/doc/classes/Dnsruby/RR.src/M000014.html +24 -0
  228. data/doc/classes/Dnsruby/RRSet.html +257 -0
  229. data/doc/classes/Dnsruby/RRSet.src/M000159.html +18 -0
  230. data/doc/classes/Dnsruby/RRSet.src/M000160.html +44 -0
  231. data/doc/classes/Dnsruby/RRSet.src/M000161.html +18 -0
  232. data/doc/classes/Dnsruby/RRSet.src/M000162.html +20 -0
  233. data/doc/classes/Dnsruby/RRSet.src/M000163.html +18 -0
  234. data/doc/classes/Dnsruby/RRSet.src/M000164.html +18 -0
  235. data/doc/classes/Dnsruby/RRSet.src/M000165.html +18 -0
  236. data/doc/classes/Dnsruby/Refused.html +113 -0
  237. data/doc/classes/Dnsruby/Resolv.html +400 -0
  238. data/doc/classes/Dnsruby/Resolv.src/M000109.html +18 -0
  239. data/doc/classes/Dnsruby/Resolv.src/M000110.html +18 -0
  240. data/doc/classes/Dnsruby/Resolv.src/M000111.html +18 -0
  241. data/doc/classes/Dnsruby/Resolv.src/M000112.html +18 -0
  242. data/doc/classes/Dnsruby/Resolv.src/M000113.html +18 -0
  243. data/doc/classes/Dnsruby/Resolv.src/M000114.html +18 -0
  244. data/doc/classes/Dnsruby/Resolv.src/M000115.html +18 -0
  245. data/doc/classes/Dnsruby/Resolv.src/M000116.html +19 -0
  246. data/doc/classes/Dnsruby/Resolv.src/M000117.html +20 -0
  247. data/doc/classes/Dnsruby/Resolv.src/M000118.html +29 -0
  248. data/doc/classes/Dnsruby/Resolv.src/M000119.html +19 -0
  249. data/doc/classes/Dnsruby/Resolv.src/M000120.html +20 -0
  250. data/doc/classes/Dnsruby/Resolv.src/M000121.html +25 -0
  251. data/doc/classes/Dnsruby/ResolvError.html +111 -0
  252. data/doc/classes/Dnsruby/ResolvTimeout.html +111 -0
  253. data/doc/classes/Dnsruby/Resolver.html +807 -0
  254. data/doc/classes/Dnsruby/Resolver.src/M000211.html +21 -0
  255. data/doc/classes/Dnsruby/Resolver.src/M000212.html +37 -0
  256. data/doc/classes/Dnsruby/Resolver.src/M000213.html +64 -0
  257. data/doc/classes/Dnsruby/Resolver.src/M000214.html +23 -0
  258. data/doc/classes/Dnsruby/Resolver.src/M000215.html +46 -0
  259. data/doc/classes/Dnsruby/Resolver.src/M000216.html +21 -0
  260. data/doc/classes/Dnsruby/Resolver.src/M000217.html +22 -0
  261. data/doc/classes/Dnsruby/Resolver.src/M000218.html +18 -0
  262. data/doc/classes/Dnsruby/Resolver.src/M000219.html +20 -0
  263. data/doc/classes/Dnsruby/Resolver.src/M000220.html +19 -0
  264. data/doc/classes/Dnsruby/Resolver.src/M000221.html +19 -0
  265. data/doc/classes/Dnsruby/Resolver.src/M000222.html +19 -0
  266. data/doc/classes/Dnsruby/Resolver.src/M000223.html +19 -0
  267. data/doc/classes/Dnsruby/Resolver.src/M000224.html +19 -0
  268. data/doc/classes/Dnsruby/Resolver.src/M000225.html +19 -0
  269. data/doc/classes/Dnsruby/Resolver.src/M000226.html +19 -0
  270. data/doc/classes/Dnsruby/Resolver.src/M000227.html +19 -0
  271. data/doc/classes/Dnsruby/Resolver.src/M000228.html +19 -0
  272. data/doc/classes/Dnsruby/Resolver.src/M000229.html +19 -0
  273. data/doc/classes/Dnsruby/Resolver.src/M000230.html +19 -0
  274. data/doc/classes/Dnsruby/ServFail.html +113 -0
  275. data/doc/classes/Dnsruby/SingleResolver.html +496 -0
  276. data/doc/classes/Dnsruby/SingleResolver.src/M000122.html +18 -0
  277. data/doc/classes/Dnsruby/SingleResolver.src/M000123.html +19 -0
  278. data/doc/classes/Dnsruby/SingleResolver.src/M000124.html +49 -0
  279. data/doc/classes/Dnsruby/SingleResolver.src/M000125.html +18 -0
  280. data/doc/classes/Dnsruby/SingleResolver.src/M000126.html +21 -0
  281. data/doc/classes/Dnsruby/SingleResolver.src/M000127.html +25 -0
  282. data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +78 -0
  283. data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +21 -0
  284. data/doc/classes/Dnsruby/TheLog.html +196 -0
  285. data/doc/classes/Dnsruby/TheLog.src/M000188.html +20 -0
  286. data/doc/classes/Dnsruby/TheLog.src/M000189.html +20 -0
  287. data/doc/classes/Dnsruby/TheLog.src/M000190.html +20 -0
  288. data/doc/classes/Dnsruby/Types.html +426 -0
  289. data/doc/classes/Dnsruby/Update.html +368 -0
  290. data/doc/classes/Dnsruby/Update.src/M000191.html +32 -0
  291. data/doc/classes/Dnsruby/Update.src/M000192.html +37 -0
  292. data/doc/classes/Dnsruby/Update.src/M000193.html +32 -0
  293. data/doc/classes/Dnsruby/Update.src/M000194.html +41 -0
  294. data/doc/classes/Dnsruby/Update.src/M000195.html +34 -0
  295. data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +183 -0
  296. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000097.html +19 -0
  297. data/doc/classes/Dnsruby/ZoneTransfer.html +248 -0
  298. data/doc/classes/Dnsruby/ZoneTransfer.src/M000095.html +22 -0
  299. data/doc/classes/Dnsruby/ZoneTransfer.src/M000096.html +35 -0
  300. data/doc/classes/Dnsruby.html +388 -0
  301. data/doc/created.rid +1 -0
  302. data/doc/files/lib/Dnsruby/Config_rb.html +101 -0
  303. data/doc/files/lib/Dnsruby/DNSSEC_rb.html +101 -0
  304. data/doc/files/lib/Dnsruby/DNS_rb.html +110 -0
  305. data/doc/files/lib/Dnsruby/Hosts_rb.html +108 -0
  306. data/doc/files/lib/Dnsruby/Resolver_rb.html +108 -0
  307. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +108 -0
  308. data/doc/files/lib/Dnsruby/TheLog_rb.html +110 -0
  309. data/doc/files/lib/Dnsruby/code_mapper_rb.html +101 -0
  310. data/doc/files/lib/Dnsruby/ipv4_rb.html +101 -0
  311. data/doc/files/lib/Dnsruby/ipv6_rb.html +101 -0
  312. data/doc/files/lib/Dnsruby/message_rb.html +109 -0
  313. data/doc/files/lib/Dnsruby/name_rb.html +101 -0
  314. data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +101 -0
  315. data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +101 -0
  316. data/doc/files/lib/Dnsruby/resource/A_rb.html +101 -0
  317. data/doc/files/lib/Dnsruby/resource/CERT_rb.html +101 -0
  318. data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +101 -0
  319. data/doc/files/lib/Dnsruby/resource/IN_rb.html +112 -0
  320. data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +101 -0
  321. data/doc/files/lib/Dnsruby/resource/LOC_rb.html +101 -0
  322. data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +101 -0
  323. data/doc/files/lib/Dnsruby/resource/MX_rb.html +101 -0
  324. data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +101 -0
  325. data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +101 -0
  326. data/doc/files/lib/Dnsruby/resource/OPT_rb.html +101 -0
  327. data/doc/files/lib/Dnsruby/resource/PX_rb.html +101 -0
  328. data/doc/files/lib/Dnsruby/resource/RP_rb.html +101 -0
  329. data/doc/files/lib/Dnsruby/resource/RT_rb.html +101 -0
  330. data/doc/files/lib/Dnsruby/resource/SOA_rb.html +101 -0
  331. data/doc/files/lib/Dnsruby/resource/SPF_rb.html +101 -0
  332. data/doc/files/lib/Dnsruby/resource/SRV_rb.html +101 -0
  333. data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +101 -0
  334. data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +110 -0
  335. data/doc/files/lib/Dnsruby/resource/TXT_rb.html +108 -0
  336. data/doc/files/lib/Dnsruby/resource/X25_rb.html +101 -0
  337. data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +101 -0
  338. data/doc/files/lib/Dnsruby/resource/generic_rb.html +125 -0
  339. data/doc/files/lib/Dnsruby/resource/resource_rb.html +110 -0
  340. data/doc/files/lib/Dnsruby/select_thread_rb.html +111 -0
  341. data/doc/files/lib/Dnsruby/update_rb.html +101 -0
  342. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +101 -0
  343. data/doc/files/lib/dnsruby_rb.html +118 -0
  344. data/doc/fr_class_index.html +102 -0
  345. data/doc/fr_file_index.html +68 -0
  346. data/doc/fr_method_index.html +256 -0
  347. data/doc/index.html +24 -0
  348. data/lib/Dnsruby/Config.rb +350 -0
  349. data/lib/Dnsruby/DNS.rb +253 -0
  350. data/lib/Dnsruby/DNSSEC.rb +29 -0
  351. data/lib/Dnsruby/Hosts.rb +119 -0
  352. data/lib/Dnsruby/Resolver.rb +618 -0
  353. data/lib/Dnsruby/SingleResolver.rb +312 -0
  354. data/lib/Dnsruby/TheLog.rb +61 -0
  355. data/lib/Dnsruby/code_mapper.rb +164 -0
  356. data/lib/Dnsruby/ipv4.rb +83 -0
  357. data/lib/Dnsruby/ipv6.rb +142 -0
  358. data/lib/Dnsruby/message.rb +819 -0
  359. data/lib/Dnsruby/name.rb +325 -0
  360. data/lib/Dnsruby/resource/A.rb +56 -0
  361. data/lib/Dnsruby/resource/AAAA.rb +54 -0
  362. data/lib/Dnsruby/resource/AFSDB.rb +68 -0
  363. data/lib/Dnsruby/resource/CERT.rb +89 -0
  364. data/lib/Dnsruby/resource/HINFO.rb +52 -0
  365. data/lib/Dnsruby/resource/IN.rb +69 -0
  366. data/lib/Dnsruby/resource/ISDN.rb +54 -0
  367. data/lib/Dnsruby/resource/LOC.rb +255 -0
  368. data/lib/Dnsruby/resource/MINFO.rb +66 -0
  369. data/lib/Dnsruby/resource/MX.rb +66 -0
  370. data/lib/Dnsruby/resource/NAPTR.rb +90 -0
  371. data/lib/Dnsruby/resource/NSAP.rb +172 -0
  372. data/lib/Dnsruby/resource/OPT.rb +153 -0
  373. data/lib/Dnsruby/resource/PX.rb +71 -0
  374. data/lib/Dnsruby/resource/RP.rb +67 -0
  375. data/lib/Dnsruby/resource/RT.rb +67 -0
  376. data/lib/Dnsruby/resource/SOA.rb +89 -0
  377. data/lib/Dnsruby/resource/SPF.rb +29 -0
  378. data/lib/Dnsruby/resource/SRV.rb +108 -0
  379. data/lib/Dnsruby/resource/TKEY.rb +160 -0
  380. data/lib/Dnsruby/resource/TSIG.rb +328 -0
  381. data/lib/Dnsruby/resource/TXT.rb +76 -0
  382. data/lib/Dnsruby/resource/X25.rb +53 -0
  383. data/lib/Dnsruby/resource/domain_name.rb +58 -0
  384. data/lib/Dnsruby/resource/generic.rb +142 -0
  385. data/lib/Dnsruby/resource/resource.rb +444 -0
  386. data/lib/Dnsruby/select_thread.rb +474 -0
  387. data/lib/Dnsruby/update.rb +263 -0
  388. data/lib/Dnsruby/zone_transfer.rb +296 -0
  389. data/lib/dnsruby.rb +468 -0
  390. data/test/custom.txt +4 -0
  391. data/test/resolv.conf +4 -0
  392. data/test/tc_axfr.rb +42 -0
  393. data/test/tc_dns.rb +231 -0
  394. data/test/tc_dnsruby.rb +42 -0
  395. data/test/tc_escapedchars.rb +510 -0
  396. data/test/tc_header.rb +104 -0
  397. data/test/tc_misc.rb +139 -0
  398. data/test/tc_name.rb +53 -0
  399. data/test/tc_packet.rb +158 -0
  400. data/test/tc_packet_unique_push.rb +102 -0
  401. data/test/tc_question.rb +52 -0
  402. data/test/tc_res_config.rb +92 -0
  403. data/test/tc_res_env.rb +62 -0
  404. data/test/tc_res_file.rb +42 -0
  405. data/test/tc_res_opt.rb +185 -0
  406. data/test/tc_resolver.rb +177 -0
  407. data/test/tc_rr-opt.rb +42 -0
  408. data/test/tc_rr-txt.rb +137 -0
  409. data/test/tc_rr-unknown.rb +99 -0
  410. data/test/tc_rr.rb +259 -0
  411. data/test/tc_single_resolver.rb +153 -0
  412. data/test/tc_soak.rb +310 -0
  413. data/test/tc_tcp.rb +35 -0
  414. data/test/tc_tkey.rb +106 -0
  415. data/test/tc_update.rb +215 -0
  416. data/test/ts_dnsruby.rb +17 -0
  417. data/test/ts_offline.rb +35 -0
  418. data/test/ts_online.rb +40 -0
  419. metadata +512 -0
@@ -0,0 +1,807 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Dnsruby::Resolver</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Dnsruby::Resolver</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/Dnsruby/Resolver_rb.html">
59
+ lib/Dnsruby/Resolver.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <h2>Description</h2>
83
+ <pre>
84
+ This class uses a set of SingleResolvers to perform queries with retries across multiple nameservers.
85
+
86
+ The retry policy is a combination of the Net::DNS and dnsjava approach, and has the option of :
87
+ </pre>
88
+ <ul>
89
+ <li>A total timeout for the <a href="Resolver.html#M000211">query</a> (defaults
90
+ to 0, meaning &quot;no total timeout&quot;)
91
+
92
+ </li>
93
+ <li>A retransmission system that targets the namervers concurrently once the
94
+ first <a href="Resolver.html#M000211">query</a> round is complete, but in
95
+ which the total time per <a href="Resolver.html#M000211">query</a> round is
96
+ split between the number of nameservers targetted for the first round. and
97
+ total time for <a href="Resolver.html#M000211">query</a> round is doubled
98
+ for each <a href="Resolver.html#M000211">query</a> round
99
+
100
+ <p>
101
+ Note that, if a total timeout is specified, then that will apply regardless
102
+ of the retry policy (i.e. it may cut retries short).
103
+ </p>
104
+ <p>
105
+ Note also that these timeouts are distinct from the <a
106
+ href="SingleResolver.html">SingleResolver</a>&#8216;s packet_timeout
107
+ </p>
108
+ </li>
109
+ </ul>
110
+ <h2>Methods</h2>
111
+ <h3>Synchronous</h3>
112
+ <p>
113
+ These methods raise an exception or return a response message with
114
+ rcode==NOERROR
115
+ </p>
116
+ <ul>
117
+ <li><a href="Resolver.html#M000212">Dnsruby::Resolver#send_message(msg)</a>
118
+
119
+ </li>
120
+ <li><a href="Resolver.html#M000211">Dnsruby::Resolver#query</a>(name [, type [,
121
+ klass]])
122
+
123
+ </li>
124
+ </ul>
125
+ <h3>Asynchronous</h3>
126
+ <p>
127
+ These methods use a response queue to return the response and the error
128
+ </p>
129
+ <ul>
130
+ <li><a href="Resolver.html#M000213">Dnsruby::Resolver#send_async</a>(msg,
131
+ query_id, response_queue)
132
+
133
+ </li>
134
+ </ul>
135
+
136
+ </div>
137
+
138
+
139
+ </div>
140
+
141
+ <div id="method-list">
142
+ <h3 class="section-bar">Methods</h3>
143
+
144
+ <div class="name-list">
145
+ <a href="#M000216">add_config_nameservers</a>&nbsp;&nbsp;
146
+ <a href="#M000218">add_resolver</a>&nbsp;&nbsp;
147
+ <a href="#M000214">close</a>&nbsp;&nbsp;
148
+ <a href="#M000224">ignore_truncation=</a>&nbsp;&nbsp;
149
+ <a href="#M000219">nameserver=</a>&nbsp;&nbsp;
150
+ <a href="#M000215">new</a>&nbsp;&nbsp;
151
+ <a href="#M000220">packet_timeout=</a>&nbsp;&nbsp;
152
+ <a href="#M000227">persistent_tcp=</a>&nbsp;&nbsp;
153
+ <a href="#M000228">persistent_udp=</a>&nbsp;&nbsp;
154
+ <a href="#M000221">port=</a>&nbsp;&nbsp;
155
+ <a href="#M000211">query</a>&nbsp;&nbsp;
156
+ <a href="#M000229">recurse=</a>&nbsp;&nbsp;
157
+ <a href="#M000213">send_async</a>&nbsp;&nbsp;
158
+ <a href="#M000212">send_message</a>&nbsp;&nbsp;
159
+ <a href="#M000217">set_config_nameserver</a>&nbsp;&nbsp;
160
+ <a href="#M000225">src_address=</a>&nbsp;&nbsp;
161
+ <a href="#M000226">src_port=</a>&nbsp;&nbsp;
162
+ <a href="#M000223">tsig_key=</a>&nbsp;&nbsp;
163
+ <a href="#M000230">udp_size=</a>&nbsp;&nbsp;
164
+ <a href="#M000222">use_tcp=</a>&nbsp;&nbsp;
165
+ </div>
166
+ </div>
167
+
168
+ </div>
169
+
170
+
171
+ <!-- if includes -->
172
+
173
+ <div id="section">
174
+
175
+
176
+ <div id="constants-list">
177
+ <h3 class="section-bar">Constants</h3>
178
+
179
+ <div class="name-list">
180
+ <table summary="Constants">
181
+ <tr class="top-aligned-row context-row">
182
+ <td class="context-item-name">DefaultQueryTimeout</td>
183
+ <td>=</td>
184
+ <td class="context-item-value">0</td>
185
+ </tr>
186
+ <tr class="top-aligned-row context-row">
187
+ <td class="context-item-name">DefaultPacketTimeout</td>
188
+ <td>=</td>
189
+ <td class="context-item-value">10</td>
190
+ </tr>
191
+ <tr class="top-aligned-row context-row">
192
+ <td class="context-item-name">DefaultRetryTimes</td>
193
+ <td>=</td>
194
+ <td class="context-item-value">4</td>
195
+ </tr>
196
+ <tr class="top-aligned-row context-row">
197
+ <td class="context-item-name">DefaultRetryDelay</td>
198
+ <td>=</td>
199
+ <td class="context-item-value">5</td>
200
+ </tr>
201
+ <tr class="top-aligned-row context-row">
202
+ <td class="context-item-name">DefaultPort</td>
203
+ <td>=</td>
204
+ <td class="context-item-value">53</td>
205
+ </tr>
206
+ <tr class="top-aligned-row context-row">
207
+ <td class="context-item-name">DefaultUDPSize</td>
208
+ <td>=</td>
209
+ <td class="context-item-value">512</td>
210
+ </tr>
211
+ </table>
212
+ </div>
213
+ </div>
214
+
215
+
216
+
217
+ <div id="attribute-list">
218
+ <h3 class="section-bar">Attributes</h3>
219
+
220
+ <div class="name-list">
221
+ <table>
222
+ <tr class="top-aligned-row context-row">
223
+ <td class="context-item-name">config</td>
224
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
225
+ <td class="context-item-desc">
226
+ The current <a href="Config.html">Config</a>
227
+
228
+ </td>
229
+ </tr>
230
+ <tr class="top-aligned-row context-row">
231
+ <td class="context-item-name">ignore_truncation</td>
232
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
233
+ <td class="context-item-desc">
234
+ Should truncation be ignored? i.e. the TC bit is ignored and thus the
235
+ resolver will not requery over TCP if TC is set
236
+
237
+ </td>
238
+ </tr>
239
+ <tr class="top-aligned-row context-row">
240
+ <td class="context-item-name">packet_timeout</td>
241
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
242
+ <td class="context-item-desc">
243
+ The timeout for any individual packet. This is the timeout used by <a
244
+ href="SingleResolver.html">SingleResolver</a>
245
+
246
+ </td>
247
+ </tr>
248
+ <tr class="top-aligned-row context-row">
249
+ <td class="context-item-name">persistent_tcp</td>
250
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
251
+ <td class="context-item-desc">
252
+ Should TCP queries be sent on a persistent socket?
253
+
254
+ </td>
255
+ </tr>
256
+ <tr class="top-aligned-row context-row">
257
+ <td class="context-item-name">persistent_udp</td>
258
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
259
+ <td class="context-item-desc">
260
+ Should UDP queries be sent on a persistent socket?
261
+
262
+ </td>
263
+ </tr>
264
+ <tr class="top-aligned-row context-row">
265
+ <td class="context-item-name">port</td>
266
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
267
+ <td class="context-item-desc">
268
+ The port to send queries to on the resolver
269
+
270
+ </td>
271
+ </tr>
272
+ <tr class="top-aligned-row context-row">
273
+ <td class="context-item-name">query_timeout</td>
274
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
275
+ <td class="context-item-desc">
276
+ Note that this timeout represents the total time a <a
277
+ href="Resolver.html#M000211">query</a> may run for - multiple packets can
278
+ be sent to multiple nameservers in this time. This is distinct from the <a
279
+ href="SingleResolver.html">SingleResolver</a> per-packet timeout The
280
+ query_timeout is not required - it will default to 0, which means &quot;do
281
+ not use query_timeout&quot;. If this is the case then the timeout will be
282
+ dictated by the retry_times and retry_delay attributes
283
+
284
+ </td>
285
+ </tr>
286
+ <tr class="top-aligned-row context-row">
287
+ <td class="context-item-name">recurse</td>
288
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
289
+ <td class="context-item-desc">
290
+ Should the Recursion Desired bit be set?
291
+
292
+ </td>
293
+ </tr>
294
+ <tr class="top-aligned-row context-row">
295
+ <td class="context-item-name">retry_delay</td>
296
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
297
+ <td class="context-item-desc">
298
+ The <a href="Resolver.html#M000211">query</a> will be tried across
299
+ nameservers retry_times times, with a delay of retry_delay seconds between
300
+ each retry. The first time round, retry_delay will be divided by the number
301
+ of nameservers being targetted, and a <a
302
+ href="Resolver.html#M000215">new</a> nameserver will be queried with the
303
+ resultant delay.
304
+
305
+ </td>
306
+ </tr>
307
+ <tr class="top-aligned-row context-row">
308
+ <td class="context-item-name">retry_times</td>
309
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
310
+ <td class="context-item-desc">
311
+ The <a href="Resolver.html#M000211">query</a> will be tried across
312
+ nameservers retry_times times, with a delay of retry_delay seconds between
313
+ each retry. The first time round, retry_delay will be divided by the number
314
+ of nameservers being targetted, and a <a
315
+ href="Resolver.html#M000215">new</a> nameserver will be queried with the
316
+ resultant delay.
317
+
318
+ </td>
319
+ </tr>
320
+ <tr class="top-aligned-row context-row">
321
+ <td class="context-item-name">single_resolvers</td>
322
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
323
+ <td class="context-item-desc">
324
+ The array of SingleResolvers used for sending <a
325
+ href="Resolver.html#M000211">query</a> messages
326
+
327
+ </td>
328
+ </tr>
329
+ <tr class="top-aligned-row context-row">
330
+ <td class="context-item-name">src_address</td>
331
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
332
+ <td class="context-item-desc">
333
+ The source address to send queries from
334
+
335
+ </td>
336
+ </tr>
337
+ <tr class="top-aligned-row context-row">
338
+ <td class="context-item-name">src_port</td>
339
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
340
+ <td class="context-item-desc">
341
+ The source port to send queries from
342
+
343
+ </td>
344
+ </tr>
345
+ <tr class="top-aligned-row context-row">
346
+ <td class="context-item-name">tsig_key</td>
347
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
348
+ <td class="context-item-desc"></td>
349
+ </tr>
350
+ <tr class="top-aligned-row context-row">
351
+ <td class="context-item-name">udp_size</td>
352
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
353
+ <td class="context-item-desc">
354
+ The maximum UDP size to be used
355
+
356
+ </td>
357
+ </tr>
358
+ <tr class="top-aligned-row context-row">
359
+ <td class="context-item-name">use_tcp</td>
360
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
361
+ <td class="context-item-desc">
362
+ Should TCP be used as a transport rather than UDP?
363
+
364
+ </td>
365
+ </tr>
366
+ </table>
367
+ </div>
368
+ </div>
369
+
370
+
371
+
372
+ <!-- if method_list -->
373
+ <div id="methods">
374
+ <h3 class="section-bar">Public Class methods</h3>
375
+
376
+ <div id="method-M000215" class="method-detail">
377
+ <a name="M000215"></a>
378
+
379
+ <div class="method-heading">
380
+ <a href="Resolver.src/M000215.html" target="Code" class="method-signature"
381
+ onclick="popupCode('Resolver.src/M000215.html');return false;">
382
+ <span class="method-name">new</span><span class="method-args">(*args)</span>
383
+ </a>
384
+ </div>
385
+
386
+ <div class="method-description">
387
+ <p>
388
+ Create a <a href="Resolver.html#M000215">new</a> <a
389
+ href="Resolver.html">Resolver</a> object. If no parameters are passed in,
390
+ then the default system configuration will be used. Otherwise, a Hash may
391
+ be passed in with the following optional elements :
392
+ </p>
393
+ <ul>
394
+ <li>:port
395
+
396
+ </li>
397
+ <li>:use_tcp
398
+
399
+ </li>
400
+ <li>:tsig_key
401
+
402
+ </li>
403
+ <li>:ignore_truncation
404
+
405
+ </li>
406
+ <li>:src_address
407
+
408
+ </li>
409
+ <li>:src_port
410
+
411
+ </li>
412
+ <li>:persistent_tcp
413
+
414
+ </li>
415
+ <li>:persistent_udp
416
+
417
+ </li>
418
+ <li>:recurse
419
+
420
+ </li>
421
+ <li>:udp_size
422
+
423
+ </li>
424
+ <li>:config_info - see <a href="Config.html">Config</a>
425
+
426
+ </li>
427
+ <li>:nameserver - can be either a String or an array of Strings
428
+
429
+ </li>
430
+ <li>:packet_timeout
431
+
432
+ </li>
433
+ <li>:query_timeout
434
+
435
+ </li>
436
+ <li>:retry_times
437
+
438
+ </li>
439
+ <li>:retry_delay
440
+
441
+ </li>
442
+ </ul>
443
+ </div>
444
+ </div>
445
+
446
+ <h3 class="section-bar">Public Instance methods</h3>
447
+
448
+ <div id="method-M000216" class="method-detail">
449
+ <a name="M000216"></a>
450
+
451
+ <div class="method-heading">
452
+ <a href="Resolver.src/M000216.html" target="Code" class="method-signature"
453
+ onclick="popupCode('Resolver.src/M000216.html');return false;">
454
+ <span class="method-name">add_config_nameservers</span><span class="method-args">()</span>
455
+ </a>
456
+ </div>
457
+
458
+ <div class="method-description">
459
+ </div>
460
+ </div>
461
+
462
+ <div id="method-M000218" class="method-detail">
463
+ <a name="M000218"></a>
464
+
465
+ <div class="method-heading">
466
+ <a href="Resolver.src/M000218.html" target="Code" class="method-signature"
467
+ onclick="popupCode('Resolver.src/M000218.html');return false;">
468
+ <span class="method-name">add_resolver</span><span class="method-args">(single)</span>
469
+ </a>
470
+ </div>
471
+
472
+ <div class="method-description">
473
+ <p>
474
+ Add a <a href="Resolver.html#M000215">new</a> <a
475
+ href="SingleResolver.html">SingleResolver</a> to the list of resolvers this
476
+ <a href="Resolver.html">Resolver</a> object will <a
477
+ href="Resolver.html#M000211">query</a>.
478
+ </p>
479
+ </div>
480
+ </div>
481
+
482
+ <div id="method-M000214" class="method-detail">
483
+ <a name="M000214"></a>
484
+
485
+ <div class="method-heading">
486
+ <a href="Resolver.src/M000214.html" target="Code" class="method-signature"
487
+ onclick="popupCode('Resolver.src/M000214.html');return false;">
488
+ <span class="method-name">close</span><span class="method-args">()</span>
489
+ </a>
490
+ </div>
491
+
492
+ <div class="method-description">
493
+ <p>
494
+ Close the <a href="Resolver.html">Resolver</a>. Unfinished queries are
495
+ terminated with OtherResolError.
496
+ </p>
497
+ </div>
498
+ </div>
499
+
500
+ <div id="method-M000224" class="method-detail">
501
+ <a name="M000224"></a>
502
+
503
+ <div class="method-heading">
504
+ <a href="Resolver.src/M000224.html" target="Code" class="method-signature"
505
+ onclick="popupCode('Resolver.src/M000224.html');return false;">
506
+ <span class="method-name">ignore_truncation=</span><span class="method-args">(on)</span>
507
+ </a>
508
+ </div>
509
+
510
+ <div class="method-description">
511
+ </div>
512
+ </div>
513
+
514
+ <div id="method-M000219" class="method-detail">
515
+ <a name="M000219"></a>
516
+
517
+ <div class="method-heading">
518
+ <a href="Resolver.src/M000219.html" target="Code" class="method-signature"
519
+ onclick="popupCode('Resolver.src/M000219.html');return false;">
520
+ <span class="method-name">nameserver=</span><span class="method-args">(n)</span>
521
+ </a>
522
+ </div>
523
+
524
+ <div class="method-description">
525
+ </div>
526
+ </div>
527
+
528
+ <div id="method-M000220" class="method-detail">
529
+ <a name="M000220"></a>
530
+
531
+ <div class="method-heading">
532
+ <a href="Resolver.src/M000220.html" target="Code" class="method-signature"
533
+ onclick="popupCode('Resolver.src/M000220.html');return false;">
534
+ <span class="method-name">packet_timeout=</span><span class="method-args">(t)</span>
535
+ </a>
536
+ </div>
537
+
538
+ <div class="method-description">
539
+ </div>
540
+ </div>
541
+
542
+ <div id="method-M000227" class="method-detail">
543
+ <a name="M000227"></a>
544
+
545
+ <div class="method-heading">
546
+ <a href="Resolver.src/M000227.html" target="Code" class="method-signature"
547
+ onclick="popupCode('Resolver.src/M000227.html');return false;">
548
+ <span class="method-name">persistent_tcp=</span><span class="method-args">(on)</span>
549
+ </a>
550
+ </div>
551
+
552
+ <div class="method-description">
553
+ </div>
554
+ </div>
555
+
556
+ <div id="method-M000228" class="method-detail">
557
+ <a name="M000228"></a>
558
+
559
+ <div class="method-heading">
560
+ <a href="Resolver.src/M000228.html" target="Code" class="method-signature"
561
+ onclick="popupCode('Resolver.src/M000228.html');return false;">
562
+ <span class="method-name">persistent_udp=</span><span class="method-args">(on)</span>
563
+ </a>
564
+ </div>
565
+
566
+ <div class="method-description">
567
+ </div>
568
+ </div>
569
+
570
+ <div id="method-M000221" class="method-detail">
571
+ <a name="M000221"></a>
572
+
573
+ <div class="method-heading">
574
+ <a href="Resolver.src/M000221.html" target="Code" class="method-signature"
575
+ onclick="popupCode('Resolver.src/M000221.html');return false;">
576
+ <span class="method-name">port=</span><span class="method-args">(p)</span>
577
+ </a>
578
+ </div>
579
+
580
+ <div class="method-description">
581
+ </div>
582
+ </div>
583
+
584
+ <div id="method-M000211" class="method-detail">
585
+ <a name="M000211"></a>
586
+
587
+ <div class="method-heading">
588
+ <a href="Resolver.src/M000211.html" target="Code" class="method-signature"
589
+ onclick="popupCode('Resolver.src/M000211.html');return false;">
590
+ <span class="method-name">query</span><span class="method-args">(name, type=Types.A, klass=Classes.IN)</span>
591
+ </a>
592
+ </div>
593
+
594
+ <div class="method-description">
595
+ <p>
596
+ Query for a n. If a valid <a href="Message.html">Message</a> is received,
597
+ then it is returned to the caller. Otherwise an exception (a <a
598
+ href="ResolvError.html">Dnsruby::ResolvError</a> or <a
599
+ href="ResolvTimeout.html">Dnsruby::ResolvTimeout</a>) is raised.
600
+ </p>
601
+ <pre>
602
+ require 'Dnsruby'
603
+ res = Dnsruby::Resolver.new
604
+ response = res.query(&quot;example.com&quot;) # defaults to Types.A, Classes.IN
605
+ response = res.query(&quot;example.com&quot;, Types.MX)
606
+ response = res.query(&quot;208.77.188.166&quot;) # IPv4 address so PTR query will be made
607
+ response = res.query(&quot;208.77.188.166&quot;, Types.PTR)
608
+ </pre>
609
+ </div>
610
+ </div>
611
+
612
+ <div id="method-M000229" class="method-detail">
613
+ <a name="M000229"></a>
614
+
615
+ <div class="method-heading">
616
+ <a href="Resolver.src/M000229.html" target="Code" class="method-signature"
617
+ onclick="popupCode('Resolver.src/M000229.html');return false;">
618
+ <span class="method-name">recurse=</span><span class="method-args">(a)</span>
619
+ </a>
620
+ </div>
621
+
622
+ <div class="method-description">
623
+ </div>
624
+ </div>
625
+
626
+ <div id="method-M000213" class="method-detail">
627
+ <a name="M000213"></a>
628
+
629
+ <div class="method-heading">
630
+ <a href="Resolver.src/M000213.html" target="Code" class="method-signature"
631
+ onclick="popupCode('Resolver.src/M000213.html');return false;">
632
+ <span class="method-name">send_async</span><span class="method-args">(msg, client_query_id, client_queue)</span>
633
+ </a>
634
+ </div>
635
+
636
+ <div class="method-description">
637
+ <p>
638
+ Asynchronously sends a <a href="DNS.html">DNS</a> packet (<a
639
+ href="Message.html">Dnsruby::Message</a>). The client must pass in the <a
640
+ href="Message.html">Message</a> to be sent, a client_query_id to identify
641
+ the message and a client_queue (of class Queue) to pass the response back
642
+ in.
643
+ </p>
644
+ <p>
645
+ A tuple of (query_id, response_message, exception) will be added to the
646
+ client_queue.
647
+ </p>
648
+ <p>
649
+ example :
650
+ </p>
651
+ <pre>
652
+ require 'Dnsruby'
653
+ res = Dnsruby::Resolver.new
654
+ query_id = 10 # can be any object you like
655
+ query_queue = Queue.new
656
+ res.send_async(Message.new(&quot;example.com&quot;, Types.MX), query_id, query_queue)
657
+ query_id += 1
658
+ res.send_async(Message.new(&quot;example.com&quot;, Types.A), query_id, query_queue)
659
+ # ...do a load of other stuff here...
660
+ 2.times do
661
+ response_id, response, exception = query_queue.pop
662
+ # You can check the ID to see which query has been answered
663
+ if (exception == nil)
664
+ # deal with good response
665
+ else
666
+ # deal with problem
667
+ end
668
+ end
669
+ </pre>
670
+ </div>
671
+ </div>
672
+
673
+ <div id="method-M000212" class="method-detail">
674
+ <a name="M000212"></a>
675
+
676
+ <div class="method-heading">
677
+ <a href="Resolver.src/M000212.html" target="Code" class="method-signature"
678
+ onclick="popupCode('Resolver.src/M000212.html');return false;">
679
+ <span class="method-name">send_message</span><span class="method-args">(message)</span>
680
+ </a>
681
+ </div>
682
+
683
+ <div class="method-description">
684
+ <p>
685
+ Send a message, and wait for the response. If a valid <a
686
+ href="Message.html">Message</a> is received, then it is returned to the
687
+ caller. Otherwise an exception (a <a
688
+ href="ResolvError.html">Dnsruby::ResolvError</a> or <a
689
+ href="ResolvTimeout.html">Dnsruby::ResolvTimeout</a>) is raised.
690
+ </p>
691
+ <p>
692
+ <a href="Resolver.html#M000213">send_async</a> is called internally.
693
+ </p>
694
+ <p>
695
+ example :
696
+ </p>
697
+ <pre>
698
+ require 'Dnsruby'
699
+ res = Dnsruby::Resolver.new
700
+ begin
701
+ response = res.send_message(Message.new(&quot;example.com&quot;, Types.MX))
702
+ rescue ResolvError
703
+ # ...
704
+ rescue ResolvTimeout
705
+ # ...
706
+ end
707
+ </pre>
708
+ </div>
709
+ </div>
710
+
711
+ <div id="method-M000217" class="method-detail">
712
+ <a name="M000217"></a>
713
+
714
+ <div class="method-heading">
715
+ <a href="Resolver.src/M000217.html" target="Code" class="method-signature"
716
+ onclick="popupCode('Resolver.src/M000217.html');return false;">
717
+ <span class="method-name">set_config_nameserver</span><span class="method-args">(n)</span>
718
+ </a>
719
+ </div>
720
+
721
+ <div class="method-description">
722
+ </div>
723
+ </div>
724
+
725
+ <div id="method-M000225" class="method-detail">
726
+ <a name="M000225"></a>
727
+
728
+ <div class="method-heading">
729
+ <a href="Resolver.src/M000225.html" target="Code" class="method-signature"
730
+ onclick="popupCode('Resolver.src/M000225.html');return false;">
731
+ <span class="method-name">src_address=</span><span class="method-args">(a)</span>
732
+ </a>
733
+ </div>
734
+
735
+ <div class="method-description">
736
+ </div>
737
+ </div>
738
+
739
+ <div id="method-M000226" class="method-detail">
740
+ <a name="M000226"></a>
741
+
742
+ <div class="method-heading">
743
+ <a href="Resolver.src/M000226.html" target="Code" class="method-signature"
744
+ onclick="popupCode('Resolver.src/M000226.html');return false;">
745
+ <span class="method-name">src_port=</span><span class="method-args">(a)</span>
746
+ </a>
747
+ </div>
748
+
749
+ <div class="method-description">
750
+ </div>
751
+ </div>
752
+
753
+ <div id="method-M000223" class="method-detail">
754
+ <a name="M000223"></a>
755
+
756
+ <div class="method-heading">
757
+ <a href="Resolver.src/M000223.html" target="Code" class="method-signature"
758
+ onclick="popupCode('Resolver.src/M000223.html');return false;">
759
+ <span class="method-name">tsig_key=</span><span class="method-args">(t)</span>
760
+ </a>
761
+ </div>
762
+
763
+ <div class="method-description">
764
+ </div>
765
+ </div>
766
+
767
+ <div id="method-M000230" class="method-detail">
768
+ <a name="M000230"></a>
769
+
770
+ <div class="method-heading">
771
+ <a href="Resolver.src/M000230.html" target="Code" class="method-signature"
772
+ onclick="popupCode('Resolver.src/M000230.html');return false;">
773
+ <span class="method-name">udp_size=</span><span class="method-args">(s)</span>
774
+ </a>
775
+ </div>
776
+
777
+ <div class="method-description">
778
+ </div>
779
+ </div>
780
+
781
+ <div id="method-M000222" class="method-detail">
782
+ <a name="M000222"></a>
783
+
784
+ <div class="method-heading">
785
+ <a href="Resolver.src/M000222.html" target="Code" class="method-signature"
786
+ onclick="popupCode('Resolver.src/M000222.html');return false;">
787
+ <span class="method-name">use_tcp=</span><span class="method-args">(on)</span>
788
+ </a>
789
+ </div>
790
+
791
+ <div class="method-description">
792
+ </div>
793
+ </div>
794
+
795
+
796
+ </div>
797
+
798
+
799
+ </div>
800
+
801
+
802
+ <div id="validator-badges">
803
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
804
+ </div>
805
+
806
+ </body>
807
+ </html>