Dnsruby 0.5.0 → 0.6.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 (414) hide show
  1. data/EVENTMACHINE +64 -0
  2. data/README +2 -2
  3. data/doc/classes/Dnsruby/Classes.html +10 -10
  4. data/doc/classes/Dnsruby/Classes.src/M000158.html +9 -5
  5. data/doc/classes/Dnsruby/Classes.src/M000159.html +19 -0
  6. data/doc/classes/Dnsruby/Classes.src/M000185.html +23 -0
  7. data/doc/classes/Dnsruby/Classes.src/M000186.html +19 -0
  8. data/doc/classes/Dnsruby/CodeMapper.html +55 -55
  9. data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +4 -19
  10. data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +19 -7
  11. data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +7 -5
  12. data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +5 -5
  13. data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +5 -4
  14. data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +4 -8
  15. data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +5 -5
  16. data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +6 -6
  17. data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +7 -16
  18. data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +17 -5
  19. data/doc/classes/Dnsruby/CodeMapper.src/M000141.html +19 -0
  20. data/doc/classes/Dnsruby/CodeMapper.src/M000158.html +18 -0
  21. data/doc/classes/Dnsruby/CodeMapper.src/M000159.html +33 -0
  22. data/doc/classes/Dnsruby/CodeMapper.src/M000160.html +21 -0
  23. data/doc/classes/Dnsruby/CodeMapper.src/M000161.html +19 -0
  24. data/doc/classes/Dnsruby/CodeMapper.src/M000162.html +19 -0
  25. data/doc/classes/Dnsruby/CodeMapper.src/M000163.html +18 -0
  26. data/doc/classes/Dnsruby/CodeMapper.src/M000164.html +22 -0
  27. data/doc/classes/Dnsruby/CodeMapper.src/M000165.html +22 -0
  28. data/doc/classes/Dnsruby/CodeMapper.src/M000166.html +22 -0
  29. data/doc/classes/Dnsruby/CodeMapper.src/M000167.html +31 -0
  30. data/doc/classes/Dnsruby/CodeMapper.src/M000168.html +19 -0
  31. data/doc/classes/Dnsruby/Config.src/M000106.html +5 -1
  32. data/doc/classes/Dnsruby/Config.src/M000107.html +1 -1
  33. data/doc/classes/Dnsruby/Config.src/M000108.html +4 -1
  34. data/doc/classes/Dnsruby/Config.src/M000125.html +18 -0
  35. data/doc/classes/Dnsruby/Config.src/M000126.html +19 -0
  36. data/doc/classes/Dnsruby/Config.src/M000127.html +19 -0
  37. data/doc/classes/Dnsruby/Config.src/M000128.html +21 -0
  38. data/doc/classes/Dnsruby/Config.src/M000129.html +21 -0
  39. data/doc/classes/Dnsruby/Config.src/M000130.html +38 -0
  40. data/doc/classes/Dnsruby/Config.src/M000131.html +26 -0
  41. data/doc/classes/Dnsruby/Config.src/M000132.html +22 -0
  42. data/doc/classes/Dnsruby/Config.src/M000133.html +27 -0
  43. data/doc/classes/Dnsruby/Config.src/M000134.html +22 -0
  44. data/doc/classes/Dnsruby/Config.src/M000135.html +21 -0
  45. data/doc/classes/Dnsruby/DNS.html +85 -85
  46. data/doc/classes/Dnsruby/DNS.src/M000197.html +10 -4
  47. data/doc/classes/Dnsruby/DNS.src/M000198.html +4 -4
  48. data/doc/classes/Dnsruby/DNS.src/M000199.html +4 -6
  49. data/doc/classes/Dnsruby/DNS.src/M000200.html +6 -5
  50. data/doc/classes/Dnsruby/DNS.src/M000201.html +5 -6
  51. data/doc/classes/Dnsruby/DNS.src/M000202.html +6 -4
  52. data/doc/classes/Dnsruby/DNS.src/M000203.html +4 -5
  53. data/doc/classes/Dnsruby/DNS.src/M000204.html +5 -6
  54. data/doc/classes/Dnsruby/DNS.src/M000205.html +6 -14
  55. data/doc/classes/Dnsruby/DNS.src/M000206.html +14 -5
  56. data/doc/classes/Dnsruby/DNS.src/M000207.html +5 -6
  57. data/doc/classes/Dnsruby/DNS.src/M000208.html +6 -27
  58. data/doc/classes/Dnsruby/DNS.src/M000209.html +26 -17
  59. data/doc/classes/Dnsruby/DNS.src/M000210.html +17 -35
  60. data/doc/classes/Dnsruby/DNS.src/M000211.html +50 -0
  61. data/doc/classes/Dnsruby/DNS.src/M000224.html +24 -0
  62. data/doc/classes/Dnsruby/DNS.src/M000225.html +18 -0
  63. data/doc/classes/Dnsruby/DNS.src/M000226.html +18 -0
  64. data/doc/classes/Dnsruby/DNS.src/M000227.html +20 -0
  65. data/doc/classes/Dnsruby/DNS.src/M000228.html +19 -0
  66. data/doc/classes/Dnsruby/DNS.src/M000229.html +20 -0
  67. data/doc/classes/Dnsruby/DNS.src/M000230.html +18 -0
  68. data/doc/classes/Dnsruby/DNS.src/M000231.html +19 -0
  69. data/doc/classes/Dnsruby/DNS.src/M000232.html +20 -0
  70. data/doc/classes/Dnsruby/DNS.src/M000233.html +28 -0
  71. data/doc/classes/Dnsruby/DNS.src/M000234.html +19 -0
  72. data/doc/classes/Dnsruby/DNS.src/M000235.html +20 -0
  73. data/doc/classes/Dnsruby/DNS.src/M000236.html +41 -0
  74. data/doc/classes/Dnsruby/DNS.src/M000237.html +32 -0
  75. data/doc/classes/Dnsruby/DNS.src/M000238.html +50 -0
  76. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.html +154 -0
  77. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000123.html +20 -0
  78. data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000124.html +32 -0
  79. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.html +237 -0
  80. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000117.html +18 -0
  81. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000118.html +19 -0
  82. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000119.html +35 -0
  83. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000120.html +30 -0
  84. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000121.html +19 -0
  85. data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000122.html +23 -0
  86. data/doc/classes/Dnsruby/EventMachineInterface.html +327 -0
  87. data/doc/classes/Dnsruby/EventMachineInterface.src/M000105.html +32 -0
  88. data/doc/classes/Dnsruby/EventMachineInterface.src/M000106.html +25 -0
  89. data/doc/classes/Dnsruby/EventMachineInterface.src/M000107.html +29 -0
  90. data/doc/classes/Dnsruby/EventMachineInterface.src/M000108.html +21 -0
  91. data/doc/classes/Dnsruby/EventMachineInterface.src/M000109.html +35 -0
  92. data/doc/classes/Dnsruby/EventMachineInterface.src/M000110.html +19 -0
  93. data/doc/classes/Dnsruby/EventMachineInterface.src/M000111.html +23 -0
  94. data/doc/classes/Dnsruby/EventMachineInterface.src/M000112.html +18 -0
  95. data/doc/classes/Dnsruby/EventMachineInterface.src/M000113.html +28 -0
  96. data/doc/classes/Dnsruby/EventMachineInterface.src/M000114.html +41 -0
  97. data/doc/classes/Dnsruby/EventMachineInterface.src/M000115.html +28 -0
  98. data/doc/classes/Dnsruby/EventMachineInterface.src/M000116.html +24 -0
  99. data/doc/classes/Dnsruby/Header.html +62 -62
  100. data/doc/classes/Dnsruby/Header.src/M000169.html +21 -4
  101. data/doc/classes/Dnsruby/Header.src/M000170.html +4 -4
  102. data/doc/classes/Dnsruby/Header.src/M000171.html +4 -7
  103. data/doc/classes/Dnsruby/Header.src/M000172.html +7 -6
  104. data/doc/classes/Dnsruby/Header.src/M000173.html +6 -18
  105. data/doc/classes/Dnsruby/Header.src/M000174.html +18 -12
  106. data/doc/classes/Dnsruby/Header.src/M000175.html +12 -33
  107. data/doc/classes/Dnsruby/Header.src/M000176.html +33 -14
  108. data/doc/classes/Dnsruby/Header.src/M000177.html +14 -4
  109. data/doc/classes/Dnsruby/Header.src/M000178.html +4 -4
  110. data/doc/classes/Dnsruby/Header.src/M000179.html +4 -16
  111. data/doc/classes/Dnsruby/Header.src/M000180.html +30 -0
  112. data/doc/classes/Dnsruby/Header.src/M000196.html +35 -0
  113. data/doc/classes/Dnsruby/Header.src/M000197.html +18 -0
  114. data/doc/classes/Dnsruby/Header.src/M000198.html +18 -0
  115. data/doc/classes/Dnsruby/Header.src/M000199.html +21 -0
  116. data/doc/classes/Dnsruby/Header.src/M000200.html +20 -0
  117. data/doc/classes/Dnsruby/Header.src/M000201.html +32 -0
  118. data/doc/classes/Dnsruby/Header.src/M000202.html +26 -0
  119. data/doc/classes/Dnsruby/Header.src/M000203.html +47 -0
  120. data/doc/classes/Dnsruby/Header.src/M000204.html +28 -0
  121. data/doc/classes/Dnsruby/Header.src/M000205.html +18 -0
  122. data/doc/classes/Dnsruby/Header.src/M000206.html +18 -0
  123. data/doc/classes/Dnsruby/Header.src/M000207.html +30 -0
  124. data/doc/classes/Dnsruby/Hosts.html +47 -47
  125. data/doc/classes/Dnsruby/Hosts.src/M000142.html +6 -35
  126. data/doc/classes/Dnsruby/Hosts.src/M000143.html +35 -5
  127. data/doc/classes/Dnsruby/Hosts.src/M000144.html +5 -6
  128. data/doc/classes/Dnsruby/Hosts.src/M000145.html +6 -7
  129. data/doc/classes/Dnsruby/Hosts.src/M000146.html +7 -5
  130. data/doc/classes/Dnsruby/Hosts.src/M000147.html +5 -6
  131. data/doc/classes/Dnsruby/Hosts.src/M000148.html +6 -7
  132. data/doc/classes/Dnsruby/Hosts.src/M000149.html +21 -0
  133. data/doc/classes/Dnsruby/Hosts.src/M000169.html +20 -0
  134. data/doc/classes/Dnsruby/Hosts.src/M000170.html +49 -0
  135. data/doc/classes/Dnsruby/Hosts.src/M000171.html +19 -0
  136. data/doc/classes/Dnsruby/Hosts.src/M000172.html +20 -0
  137. data/doc/classes/Dnsruby/Hosts.src/M000173.html +21 -0
  138. data/doc/classes/Dnsruby/Hosts.src/M000174.html +19 -0
  139. data/doc/classes/Dnsruby/Hosts.src/M000175.html +20 -0
  140. data/doc/classes/Dnsruby/Hosts.src/M000176.html +21 -0
  141. data/doc/classes/Dnsruby/IPv4.html +43 -43
  142. data/doc/classes/Dnsruby/IPv4.src/M000150.html +17 -6
  143. data/doc/classes/Dnsruby/IPv4.src/M000151.html +7 -4
  144. data/doc/classes/Dnsruby/IPv4.src/M000152.html +4 -4
  145. data/doc/classes/Dnsruby/IPv4.src/M000153.html +4 -5
  146. data/doc/classes/Dnsruby/IPv4.src/M000154.html +5 -4
  147. data/doc/classes/Dnsruby/IPv4.src/M000155.html +4 -4
  148. data/doc/classes/Dnsruby/IPv4.src/M000156.html +4 -4
  149. data/doc/classes/Dnsruby/IPv4.src/M000157.html +18 -0
  150. data/doc/classes/Dnsruby/IPv4.src/M000177.html +32 -0
  151. data/doc/classes/Dnsruby/IPv4.src/M000178.html +21 -0
  152. data/doc/classes/Dnsruby/IPv4.src/M000179.html +18 -0
  153. data/doc/classes/Dnsruby/IPv4.src/M000180.html +18 -0
  154. data/doc/classes/Dnsruby/IPv4.src/M000181.html +19 -0
  155. data/doc/classes/Dnsruby/IPv4.src/M000182.html +18 -0
  156. data/doc/classes/Dnsruby/IPv4.src/M000183.html +18 -0
  157. data/doc/classes/Dnsruby/IPv4.src/M000184.html +18 -0
  158. data/doc/classes/Dnsruby/IPv6.html +43 -43
  159. data/doc/classes/Dnsruby/IPv6.src/M000181.html +45 -6
  160. data/doc/classes/Dnsruby/IPv6.src/M000182.html +6 -7
  161. data/doc/classes/Dnsruby/IPv6.src/M000183.html +8 -4
  162. data/doc/classes/Dnsruby/IPv6.src/M000184.html +4 -7
  163. data/doc/classes/Dnsruby/IPv6.src/M000185.html +7 -4
  164. data/doc/classes/Dnsruby/IPv6.src/M000186.html +4 -4
  165. data/doc/classes/Dnsruby/IPv6.src/M000187.html +4 -4
  166. data/doc/classes/Dnsruby/IPv6.src/M000188.html +18 -0
  167. data/doc/classes/Dnsruby/IPv6.src/M000208.html +60 -0
  168. data/doc/classes/Dnsruby/IPv6.src/M000209.html +21 -0
  169. data/doc/classes/Dnsruby/IPv6.src/M000210.html +22 -0
  170. data/doc/classes/Dnsruby/IPv6.src/M000211.html +18 -0
  171. data/doc/classes/Dnsruby/IPv6.src/M000212.html +21 -0
  172. data/doc/classes/Dnsruby/IPv6.src/M000213.html +18 -0
  173. data/doc/classes/Dnsruby/IPv6.src/M000214.html +18 -0
  174. data/doc/classes/Dnsruby/IPv6.src/M000215.html +18 -0
  175. data/doc/classes/Dnsruby/Message.html +1 -1
  176. data/doc/classes/Dnsruby/Message.src/M000090.html +20 -0
  177. data/doc/classes/Dnsruby/Message.src/M000091.html +21 -0
  178. data/doc/classes/Dnsruby/Message.src/M000092.html +20 -0
  179. data/doc/classes/Dnsruby/Message.src/M000093.html +18 -0
  180. data/doc/classes/Dnsruby/Message.src/M000094.html +54 -0
  181. data/doc/classes/Dnsruby/Message.src/M000095.html +42 -0
  182. data/doc/classes/Dnsruby/Message.src/M000096.html +45 -0
  183. data/doc/classes/Dnsruby/Name/Label.src/M000076.html +22 -0
  184. data/doc/classes/Dnsruby/Name/Label.src/M000077.html +18 -0
  185. data/doc/classes/Dnsruby/Name/Label.src/M000078.html +18 -0
  186. data/doc/classes/Dnsruby/Name/Label.src/M000079.html +18 -0
  187. data/doc/classes/Dnsruby/Name/Label.src/M000080.html +18 -0
  188. data/doc/classes/Dnsruby/Name/Label.src/M000081.html +18 -0
  189. data/doc/classes/Dnsruby/Name/Label.src/M000082.html +18 -0
  190. data/doc/classes/Dnsruby/Name.src/M000067.html +18 -0
  191. data/doc/classes/Dnsruby/Name.src/M000068.html +21 -0
  192. data/doc/classes/Dnsruby/Name.src/M000069.html +19 -0
  193. data/doc/classes/Dnsruby/Name.src/M000071.html +22 -0
  194. data/doc/classes/Dnsruby/Name.src/M000072.html +18 -0
  195. data/doc/classes/Dnsruby/Name.src/M000073.html +20 -0
  196. data/doc/classes/Dnsruby/Question.html +10 -10
  197. data/doc/classes/Dnsruby/Question.src/M000167.html +33 -4
  198. data/doc/classes/Dnsruby/Question.src/M000168.html +18 -0
  199. data/doc/classes/Dnsruby/Question.src/M000194.html +47 -0
  200. data/doc/classes/Dnsruby/Question.src/M000195.html +18 -0
  201. data/doc/classes/Dnsruby/RR/DomainName.src/M000058.html +22 -0
  202. data/doc/classes/Dnsruby/RR/Generic.src/M000048.html +25 -0
  203. data/doc/classes/Dnsruby/RR/IN/A.src/M000025.html +18 -0
  204. data/doc/classes/Dnsruby/RR/IN/A.src/M000026.html +18 -0
  205. data/doc/classes/Dnsruby/RR/IN/A.src/M000027.html +18 -0
  206. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000022.html +29 -0
  207. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000023.html +26 -0
  208. data/doc/classes/Dnsruby/RR/IN/SRV.src/M000024.html +22 -0
  209. data/doc/classes/Dnsruby/RR/IN/WKS.src/M000028.html +20 -0
  210. data/doc/classes/Dnsruby/RR/LOC.src/M000032.html +32 -0
  211. data/doc/classes/Dnsruby/RR/LOC.src/M000033.html +23 -0
  212. data/doc/classes/Dnsruby/RR/LOC.src/M000034.html +25 -0
  213. data/doc/classes/Dnsruby/RR/LOC.src/M000035.html +21 -0
  214. data/doc/classes/Dnsruby/RR/LOC.src/M000036.html +20 -0
  215. data/doc/classes/Dnsruby/RR/LOC.src/M000037.html +23 -0
  216. data/doc/classes/Dnsruby/RR/NSAP.src/M000060.html +19 -0
  217. data/doc/classes/Dnsruby/RR/NSAP.src/M000061.html +19 -0
  218. data/doc/classes/Dnsruby/RR/NSAP.src/M000062.html +22 -0
  219. data/doc/classes/Dnsruby/RR/NSAP.src/M000063.html +31 -0
  220. data/doc/classes/Dnsruby/RR/RP.src/M000057.html +19 -0
  221. data/doc/classes/Dnsruby/RR/SOA.src/M000046.html +24 -0
  222. data/doc/classes/Dnsruby/RR/SOA.src/M000047.html +27 -0
  223. data/doc/classes/Dnsruby/RR/TKEY.src/M000029.html +19 -0
  224. data/doc/classes/Dnsruby/RR/TKEY.src/M000030.html +29 -0
  225. data/doc/classes/Dnsruby/RR/TKEY.src/M000031.html +30 -0
  226. data/doc/classes/Dnsruby/RR/TSIG.src/M000050.html +71 -0
  227. data/doc/classes/Dnsruby/RR/TSIG.src/M000051.html +34 -0
  228. data/doc/classes/Dnsruby/RR/TSIG.src/M000052.html +37 -0
  229. data/doc/classes/Dnsruby/RR/TSIG.src/M000053.html +31 -0
  230. data/doc/classes/Dnsruby/RR/TSIG.src/M000054.html +34 -0
  231. data/doc/classes/Dnsruby/RR/TSIG.src/M000055.html +22 -0
  232. data/doc/classes/Dnsruby/RR/TSIG.src/M000056.html +29 -0
  233. data/doc/classes/Dnsruby/RR/TXT.src/M000041.html +18 -0
  234. data/doc/classes/Dnsruby/RR/TXT.src/M000042.html +18 -0
  235. data/doc/classes/Dnsruby/RR/TXT.src/M000043.html +20 -0
  236. data/doc/classes/Dnsruby/RR/TXT.src/M000044.html +27 -0
  237. data/doc/classes/Dnsruby/RR/TXT.src/M000045.html +25 -0
  238. data/doc/classes/Dnsruby/RR/X25.src/M000038.html +18 -0
  239. data/doc/classes/Dnsruby/RR/X25.src/M000039.html +18 -0
  240. data/doc/classes/Dnsruby/RR/X25.src/M000040.html +22 -0
  241. data/doc/classes/Dnsruby/RR.src/M000015.html +18 -0
  242. data/doc/classes/Dnsruby/RR.src/M000016.html +18 -0
  243. data/doc/classes/Dnsruby/RR.src/M000017.html +22 -0
  244. data/doc/classes/Dnsruby/RR.src/M000018.html +22 -0
  245. data/doc/classes/Dnsruby/RR.src/M000019.html +18 -0
  246. data/doc/classes/Dnsruby/RR.src/M000020.html +22 -0
  247. data/doc/classes/Dnsruby/RR.src/M000021.html +24 -0
  248. data/doc/classes/Dnsruby/RRSet.html +39 -39
  249. data/doc/classes/Dnsruby/RRSet.src/M000160.html +4 -30
  250. data/doc/classes/Dnsruby/RRSet.src/M000161.html +30 -4
  251. data/doc/classes/Dnsruby/RRSet.src/M000162.html +4 -6
  252. data/doc/classes/Dnsruby/RRSet.src/M000163.html +6 -4
  253. data/doc/classes/Dnsruby/RRSet.src/M000164.html +4 -4
  254. data/doc/classes/Dnsruby/RRSet.src/M000165.html +4 -4
  255. data/doc/classes/Dnsruby/RRSet.src/M000166.html +18 -0
  256. data/doc/classes/Dnsruby/RRSet.src/M000187.html +18 -0
  257. data/doc/classes/Dnsruby/RRSet.src/M000188.html +44 -0
  258. data/doc/classes/Dnsruby/RRSet.src/M000189.html +18 -0
  259. data/doc/classes/Dnsruby/RRSet.src/M000190.html +20 -0
  260. data/doc/classes/Dnsruby/RRSet.src/M000191.html +18 -0
  261. data/doc/classes/Dnsruby/RRSet.src/M000192.html +18 -0
  262. data/doc/classes/Dnsruby/RRSet.src/M000193.html +18 -0
  263. data/doc/classes/Dnsruby/Resolv.src/M000109.html +1 -1
  264. data/doc/classes/Dnsruby/Resolv.src/M000110.html +1 -1
  265. data/doc/classes/Dnsruby/Resolv.src/M000111.html +1 -1
  266. data/doc/classes/Dnsruby/Resolv.src/M000112.html +1 -1
  267. data/doc/classes/Dnsruby/Resolv.src/M000113.html +1 -1
  268. data/doc/classes/Dnsruby/Resolv.src/M000114.html +1 -1
  269. data/doc/classes/Dnsruby/Resolv.src/M000115.html +1 -1
  270. data/doc/classes/Dnsruby/Resolv.src/M000116.html +1 -1
  271. data/doc/classes/Dnsruby/Resolv.src/M000117.html +1 -1
  272. data/doc/classes/Dnsruby/Resolv.src/M000118.html +1 -1
  273. data/doc/classes/Dnsruby/Resolv.src/M000119.html +1 -1
  274. data/doc/classes/Dnsruby/Resolv.src/M000120.html +1 -1
  275. data/doc/classes/Dnsruby/Resolv.src/M000121.html +1 -1
  276. data/doc/classes/Dnsruby/Resolv.src/M000136.html +18 -0
  277. data/doc/classes/Dnsruby/Resolv.src/M000137.html +18 -0
  278. data/doc/classes/Dnsruby/Resolv.src/M000138.html +18 -0
  279. data/doc/classes/Dnsruby/Resolv.src/M000139.html +18 -0
  280. data/doc/classes/Dnsruby/Resolv.src/M000140.html +18 -0
  281. data/doc/classes/Dnsruby/Resolv.src/M000141.html +18 -0
  282. data/doc/classes/Dnsruby/Resolv.src/M000142.html +18 -0
  283. data/doc/classes/Dnsruby/Resolv.src/M000143.html +19 -0
  284. data/doc/classes/Dnsruby/Resolv.src/M000144.html +20 -0
  285. data/doc/classes/Dnsruby/Resolv.src/M000145.html +29 -0
  286. data/doc/classes/Dnsruby/Resolv.src/M000146.html +19 -0
  287. data/doc/classes/Dnsruby/Resolv.src/M000147.html +20 -0
  288. data/doc/classes/Dnsruby/Resolv.src/M000148.html +25 -0
  289. data/doc/classes/Dnsruby/Resolver.html +238 -123
  290. data/doc/classes/Dnsruby/Resolver.src/M000212.html +7 -23
  291. data/doc/classes/Dnsruby/Resolver.src/M000213.html +11 -48
  292. data/doc/classes/Dnsruby/Resolver.src/M000214.html +13 -8
  293. data/doc/classes/Dnsruby/Resolver.src/M000215.html +4 -32
  294. data/doc/classes/Dnsruby/Resolver.src/M000216.html +33 -6
  295. data/doc/classes/Dnsruby/Resolver.src/M000217.html +6 -7
  296. data/doc/classes/Dnsruby/Resolver.src/M000218.html +8 -4
  297. data/doc/classes/Dnsruby/Resolver.src/M000219.html +4 -6
  298. data/doc/classes/Dnsruby/Resolver.src/M000220.html +6 -5
  299. data/doc/classes/Dnsruby/Resolver.src/M000221.html +4 -4
  300. data/doc/classes/Dnsruby/Resolver.src/M000222.html +4 -4
  301. data/doc/classes/Dnsruby/Resolver.src/M000223.html +4 -4
  302. data/doc/classes/Dnsruby/Resolver.src/M000224.html +4 -4
  303. data/doc/classes/Dnsruby/Resolver.src/M000225.html +4 -4
  304. data/doc/classes/Dnsruby/Resolver.src/M000226.html +4 -4
  305. data/doc/classes/Dnsruby/Resolver.src/M000227.html +4 -4
  306. data/doc/classes/Dnsruby/Resolver.src/M000228.html +4 -4
  307. data/doc/classes/Dnsruby/Resolver.src/M000229.html +4 -4
  308. data/doc/classes/Dnsruby/Resolver.src/M000230.html +4 -4
  309. data/doc/classes/Dnsruby/Resolver.src/M000231.html +19 -0
  310. data/doc/classes/Dnsruby/Resolver.src/M000232.html +26 -0
  311. data/doc/classes/Dnsruby/Resolver.src/M000233.html +18 -0
  312. data/doc/classes/Dnsruby/Resolver.src/M000234.html +23 -0
  313. data/doc/classes/Dnsruby/Resolver.src/M000235.html +18 -0
  314. data/doc/classes/Dnsruby/Resolver.src/M000236.html +42 -0
  315. data/doc/classes/Dnsruby/Resolver.src/M000239.html +21 -0
  316. data/doc/classes/Dnsruby/Resolver.src/M000240.html +27 -0
  317. data/doc/classes/Dnsruby/Resolver.src/M000241.html +28 -0
  318. data/doc/classes/Dnsruby/Resolver.src/M000242.html +18 -0
  319. data/doc/classes/Dnsruby/Resolver.src/M000243.html +48 -0
  320. data/doc/classes/Dnsruby/Resolver.src/M000244.html +21 -0
  321. data/doc/classes/Dnsruby/Resolver.src/M000245.html +22 -0
  322. data/doc/classes/Dnsruby/Resolver.src/M000246.html +18 -0
  323. data/doc/classes/Dnsruby/Resolver.src/M000247.html +20 -0
  324. data/doc/classes/Dnsruby/Resolver.src/M000248.html +19 -0
  325. data/doc/classes/Dnsruby/Resolver.src/M000249.html +19 -0
  326. data/doc/classes/Dnsruby/Resolver.src/M000250.html +19 -0
  327. data/doc/classes/Dnsruby/Resolver.src/M000251.html +19 -0
  328. data/doc/classes/Dnsruby/Resolver.src/M000252.html +19 -0
  329. data/doc/classes/Dnsruby/Resolver.src/M000253.html +19 -0
  330. data/doc/classes/Dnsruby/Resolver.src/M000254.html +19 -0
  331. data/doc/classes/Dnsruby/Resolver.src/M000255.html +19 -0
  332. data/doc/classes/Dnsruby/Resolver.src/M000256.html +19 -0
  333. data/doc/classes/Dnsruby/Resolver.src/M000257.html +19 -0
  334. data/doc/classes/Dnsruby/Resolver.src/M000258.html +19 -0
  335. data/doc/classes/Dnsruby/Resolver.src/M000259.html +26 -0
  336. data/doc/classes/Dnsruby/Resolver.src/M000260.html +18 -0
  337. data/doc/classes/Dnsruby/Resolver.src/M000261.html +23 -0
  338. data/doc/classes/Dnsruby/Resolver.src/M000262.html +18 -0
  339. data/doc/classes/Dnsruby/Resolver.src/M000263.html +42 -0
  340. data/doc/classes/Dnsruby/SelectInterface.html +236 -0
  341. data/doc/classes/Dnsruby/SelectInterface.src/M000001.html +19 -0
  342. data/doc/classes/Dnsruby/SelectInterface.src/M000002.html +18 -0
  343. data/doc/classes/Dnsruby/SelectInterface.src/M000003.html +18 -0
  344. data/doc/classes/Dnsruby/SelectInterface.src/M000004.html +18 -0
  345. data/doc/classes/Dnsruby/SelectInterface.src/M000005.html +21 -0
  346. data/doc/classes/Dnsruby/SelectInterface.src/M000006.html +19 -0
  347. data/doc/classes/Dnsruby/SelectInterface.src/M000007.html +18 -0
  348. data/doc/classes/Dnsruby/SingleResolver.html +55 -33
  349. data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +24 -51
  350. data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +11 -6
  351. data/doc/classes/Dnsruby/SingleResolver.src/M000130.html +21 -0
  352. data/doc/classes/Dnsruby/SingleResolver.src/M000149.html +18 -0
  353. data/doc/classes/Dnsruby/SingleResolver.src/M000150.html +19 -0
  354. data/doc/classes/Dnsruby/SingleResolver.src/M000151.html +49 -0
  355. data/doc/classes/Dnsruby/SingleResolver.src/M000152.html +18 -0
  356. data/doc/classes/Dnsruby/SingleResolver.src/M000153.html +21 -0
  357. data/doc/classes/Dnsruby/SingleResolver.src/M000154.html +25 -0
  358. data/doc/classes/Dnsruby/SingleResolver.src/M000155.html +51 -0
  359. data/doc/classes/Dnsruby/SingleResolver.src/M000156.html +26 -0
  360. data/doc/classes/Dnsruby/SingleResolver.src/M000157.html +21 -0
  361. data/doc/classes/Dnsruby/TheLog.html +17 -17
  362. data/doc/classes/Dnsruby/TheLog.src/M000189.html +4 -4
  363. data/doc/classes/Dnsruby/TheLog.src/M000190.html +4 -4
  364. data/doc/classes/Dnsruby/TheLog.src/M000191.html +20 -0
  365. data/doc/classes/Dnsruby/TheLog.src/M000216.html +20 -0
  366. data/doc/classes/Dnsruby/TheLog.src/M000217.html +20 -0
  367. data/doc/classes/Dnsruby/TheLog.src/M000218.html +20 -0
  368. data/doc/classes/Dnsruby/Update.html +31 -31
  369. data/doc/classes/Dnsruby/Update.src/M000192.html +17 -22
  370. data/doc/classes/Dnsruby/Update.src/M000193.html +11 -6
  371. data/doc/classes/Dnsruby/Update.src/M000194.html +15 -24
  372. data/doc/classes/Dnsruby/Update.src/M000195.html +26 -19
  373. data/doc/classes/Dnsruby/Update.src/M000196.html +34 -0
  374. data/doc/classes/Dnsruby/Update.src/M000219.html +32 -0
  375. data/doc/classes/Dnsruby/Update.src/M000220.html +37 -0
  376. data/doc/classes/Dnsruby/Update.src/M000221.html +32 -0
  377. data/doc/classes/Dnsruby/Update.src/M000222.html +41 -0
  378. data/doc/classes/Dnsruby/Update.src/M000223.html +34 -0
  379. data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000104.html +19 -0
  380. data/doc/classes/Dnsruby/ZoneTransfer.src/M000102.html +22 -0
  381. data/doc/classes/Dnsruby/ZoneTransfer.src/M000103.html +35 -0
  382. data/doc/classes/Dnsruby.html +12 -0
  383. data/doc/created.rid +1 -1
  384. data/doc/files/lib/Dnsruby/Config_rb.html +1 -1
  385. data/doc/files/lib/Dnsruby/Resolver_rb.html +2 -1
  386. data/doc/files/lib/Dnsruby/SelectInterface_rb.html +108 -0
  387. data/doc/files/lib/Dnsruby/SingleResolver_rb.html +1 -1
  388. data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +108 -0
  389. data/doc/files/lib/Dnsruby/message_rb.html +1 -1
  390. data/doc/files/lib/Dnsruby/select_thread_rb.html +1 -1
  391. data/doc/files/lib/Dnsruby/zone_transfer_rb.html +1 -1
  392. data/doc/files/lib/dnsruby_rb.html +1 -1
  393. data/doc/fr_file_index.html +1 -0
  394. data/doc/fr_method_index.html +130 -125
  395. data/lib/Dnsruby/Config.rb +8 -1
  396. data/lib/Dnsruby/Resolver.rb +496 -217
  397. data/lib/Dnsruby/SingleResolver.rb +105 -10
  398. data/lib/Dnsruby/event_machine_interface.rb +265 -0
  399. data/lib/Dnsruby/message.rb +1 -1
  400. data/lib/Dnsruby/select_thread.rb +26 -60
  401. data/lib/Dnsruby/zone_transfer.rb +3 -1
  402. data/lib/dnsruby.rb +8 -0
  403. data/test/tc_em_deferrable.rb +47 -0
  404. data/test/tc_event_machine_deferrable.rb +85 -0
  405. data/test/tc_event_machine_res.rb +174 -0
  406. data/test/tc_event_machine_single_res.rb +101 -0
  407. data/test/tc_event_machine_soak.rb +98 -0
  408. data/test/tc_inet6.rb +170 -0
  409. data/test/tc_resolver.rb +71 -63
  410. data/test/tc_single_resolver.rb +71 -53
  411. data/test/tc_soak.rb +12 -113
  412. data/test/tc_soak_base.rb +136 -0
  413. data/test/ts_online.rb +14 -6
  414. metadata +277 -2
@@ -124,13 +124,14 @@ query_id, response_queue [, use_tcp])
124
124
  <h3 class="section-bar">Methods</h3>
125
125
 
126
126
  <div class="name-list">
127
+ <a href="#M000129">check_response</a>&nbsp;&nbsp;
127
128
  <a href="#M000125">close</a>&nbsp;&nbsp;
128
129
  <a href="#M000124">new</a>&nbsp;&nbsp;
129
130
  <a href="#M000126">query</a>&nbsp;&nbsp;
130
131
  <a href="#M000128">send_async</a>&nbsp;&nbsp;
131
132
  <a href="#M000127">send_message</a>&nbsp;&nbsp;
132
133
  <a href="#M000123">server=</a>&nbsp;&nbsp;
133
- <a href="#M000129">udp_packet_size</a>&nbsp;&nbsp;
134
+ <a href="#M000130">udp_packet_size</a>&nbsp;&nbsp;
134
135
  <a href="#M000122">udp_size=</a>&nbsp;&nbsp;
135
136
  </div>
136
137
  </div>
@@ -335,6 +336,20 @@ Can take a hash with the following optional keys :
335
336
 
336
337
  <h3 class="section-bar">Public Instance methods</h3>
337
338
 
339
+ <div id="method-M000129" class="method-detail">
340
+ <a name="M000129"></a>
341
+
342
+ <div class="method-heading">
343
+ <a href="SingleResolver.src/M000129.html" target="Code" class="method-signature"
344
+ onclick="popupCode('SingleResolver.src/M000129.html');return false;">
345
+ <span class="method-name">check_response</span><span class="method-args">(response, query, client_queue, client_query_id, tcp)</span>
346
+ </a>
347
+ </div>
348
+
349
+ <div class="method-description">
350
+ </div>
351
+ </div>
352
+
338
353
  <div id="method-M000125" class="method-detail">
339
354
  <a name="M000125"></a>
340
355
 
@@ -373,42 +388,49 @@ the given name. The type will default to A, and the class to IN.
373
388
  <div class="method-heading">
374
389
  <a href="SingleResolver.src/M000128.html" target="Code" class="method-signature"
375
390
  onclick="popupCode('SingleResolver.src/M000128.html');return false;">
376
- <span class="method-name">send_async</span><span class="method-args">(msg, client_query_id, client_queue, use_tcp=@use_tcp)</span>
391
+ <span class="method-name">send_async</span><span class="method-args">(*args)</span>
377
392
  </a>
378
393
  </div>
379
394
 
380
395
  <div class="method-description">
381
- <p>
382
- Asynchronously send a <a href="Message.html">Message</a> to the server. A
383
- client_queue is supplied by the client, along with a client_query_id to
384
- identify the response. When the response is known, the tuple (query_id,
385
- response_message, response_exception) is put in the queue for the client to
386
- process.
387
- </p>
388
- <p>
389
- The <a href="SingleResolver.html#M000126">query</a> is sent synchronously
390
- in the caller&#8216;s thread. The select thread is then used to listen for
391
- and process the response (up to pushing it to the client_queue). The client
392
- thread is then used to retrieve the response and deal with it.
393
- </p>
394
- <p>
395
- Takes :
396
- </p>
397
- <ul>
398
- <li>msg - the message to send
396
+ <pre>
397
+ Asynchronously send a Message to the server. The send can be done using just
398
+ Dnsruby, or using EventMachine.
399
+ </pre>
400
+ <h1>If the pure Ruby event loop supplied weith <a href="../Dnsruby.html">Dnsruby</a> is being used, then :</h1>
401
+ <pre>
402
+ A client_queue is supplied by the client,
403
+ along with a client_query_id to identify the response. When the response is known, the tuple
404
+ (query_id, response_message, response_exception) is put in the queue for the client to process.
399
405
 
400
- </li>
401
- <li>client_query_id - an ID to identify the <a
402
- href="SingleResolver.html#M000126">query</a> to the client
406
+ The query is sent synchronously in the caller's thread. The select thread is then used to
407
+ listen for and process the response (up to pushing it to the client_queue). The client thread
408
+ is then used to retrieve the response and deal with it.
403
409
 
404
- </li>
405
- <li>client_queue - a Queue to push the response to, when it arrives
410
+ Takes :
406
411
 
407
- </li>
408
- <li>use_tcp - whether to use TCP (defaults to SingleResolver.use_tcp)
412
+ * msg - the message to send
413
+ * client_queue - a Queue to push the response to, when it arrives
414
+ * client_query_id - an ID to identify the query to the client
415
+ * use_tcp - whether to use TCP (defaults to SingleResolver.use_tcp)
409
416
 
410
- </li>
411
- </ul>
417
+ If the native Dsnruby networking layer is being used, then this method returns the client_query_id
418
+
419
+ id = res.send_async(msg, queue)
420
+ NOT SUPPORTED : id = res.send_async(msg, queue, use_tcp)
421
+ id = res.send_async(msg, queue, id)
422
+ id = res.send_async(msg, queue, id, use_tcp)
423
+ </pre>
424
+ <h1>If EventMachine is being used :</h1>
425
+ <pre>
426
+ If EventMachine is being used (see Dnsruby::Resolver::use_eventmachine, then this method returns
427
+ an EM::Deferrable object. If a queue (and ID) is passed in, then the response will also be
428
+ pushed to the Queue (as well as the deferrable completing).
429
+
430
+ deferrable = res.send_async(msg)
431
+ deferrable = res.send_async(msg, use_tcp)
432
+ deferrable = res.send_async(msg, q, id, use_tcp)
433
+ </pre>
412
434
  </div>
413
435
  </div>
414
436
 
@@ -450,12 +472,12 @@ to SingleResolver.use_tcp
450
472
  </div>
451
473
  </div>
452
474
 
453
- <div id="method-M000129" class="method-detail">
454
- <a name="M000129"></a>
475
+ <div id="method-M000130" class="method-detail">
476
+ <a name="M000130"></a>
455
477
 
456
478
  <div class="method-heading">
457
- <a href="SingleResolver.src/M000129.html" target="Code" class="method-signature"
458
- onclick="popupCode('SingleResolver.src/M000129.html');return false;">
479
+ <a href="SingleResolver.src/M000130.html" target="Code" class="method-signature"
480
+ onclick="popupCode('SingleResolver.src/M000130.html');return false;">
459
481
  <span class="method-name">udp_packet_size</span><span class="method-args">()</span>
460
482
  </a>
461
483
  </div>
@@ -10,9 +10,12 @@
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 193</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_async</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">use_tcp</span>=<span class="ruby-ivar">@use_tcp</span>)
15
- <span class="ruby-identifier">st</span> = <span class="ruby-constant">SelectThread</span>.<span class="ruby-identifier">instance</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 215</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_async</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-comment cmt"># msg, client_queue, client_query_id, use_tcp=@use_tcp)</span>
15
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
16
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-keyword kw">nil</span>
17
+ <span class="ruby-identifier">client_queue</span> = <span class="ruby-keyword kw">nil</span>
18
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-ivar">@use_tcp</span>
16
19
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">kind_of?</span><span class="ruby-constant">String</span>)
17
20
  <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>)
18
21
  <span class="ruby-keyword kw">end</span>
@@ -20,59 +23,29 @@
20
23
  <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">udp_packet_size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">query_packet</span>.<span class="ruby-identifier">length</span>)
21
24
  <span class="ruby-identifier">use_tcp</span> = <span class="ruby-keyword kw">true</span>
22
25
  <span class="ruby-keyword kw">end</span>
23
- <span class="ruby-comment cmt"># First send the query (synchronously)</span>
24
- <span class="ruby-comment cmt"># @TODO@ persisent sockets</span>
25
- <span class="ruby-identifier">endtime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@packet_timeout</span>
26
- <span class="ruby-identifier">socket</span> = <span class="ruby-keyword kw">nil</span>
27
- <span class="ruby-keyword kw">begin</span>
28
- <span class="ruby-comment cmt">#@TODO@ Different OSes have different interpretations of &quot;random port&quot; here.</span>
29
- <span class="ruby-comment cmt">#Apparently, Linux will just give you the same port as last time, unless it is still</span>
30
- <span class="ruby-comment cmt">#open, in which case you get n+1.</span>
31
- <span class="ruby-comment cmt">#We need to determine an actual (random) number here, then ask the OS for it, and</span>
32
- <span class="ruby-comment cmt">#continue until we get one.</span>
33
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">use_tcp</span>)
34
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Setting src_port to #{@src_port}&quot;</span>
35
- <span class="ruby-identifier">socket</span> = <span class="ruby-constant">TCPSocket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@server</span>, <span class="ruby-ivar">@port</span>, <span class="ruby-ivar">@src_addr</span>, <span class="ruby-ivar">@src_port</span>)
36
- <span class="ruby-keyword kw">else</span>
37
- <span class="ruby-identifier">socket</span> = <span class="ruby-constant">UDPSocket</span>.<span class="ruby-identifier">new</span>()
38
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">bind</span>(<span class="ruby-ivar">@src_addr</span>, <span class="ruby-ivar">@src_port</span>)
39
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@server</span>, <span class="ruby-ivar">@port</span>)
26
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>)
27
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">class</span><span class="ruby-operator">==</span><span class="ruby-constant">Queue</span>)
28
+ <span class="ruby-identifier">client_queue</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
29
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
30
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
40
31
  <span class="ruby-keyword kw">end</span>
41
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
42
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">socket!</span>=<span class="ruby-keyword kw">nil</span>)
43
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
32
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>)
33
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>]
34
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">3</span>)
35
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">3</span>]
36
+ <span class="ruby-keyword kw">end</span>
44
37
  <span class="ruby-keyword kw">end</span>
45
- <span class="ruby-identifier">err</span>=<span class="ruby-constant">IOError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;dnsruby can't connect to #{@server}:#{@port} from #{@src_addr}:#{@src_port}, use_tcp=#{use_tcp}, exception = #{e.class}, #{e}&quot;</span>)
46
- <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;#{err}&quot;</span>)
47
- <span class="ruby-identifier">st</span>.<span class="ruby-identifier">push_exception_to_select</span>(<span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">err</span>, <span class="ruby-keyword kw">nil</span>)
48
- <span class="ruby-keyword kw">return</span>
49
38
  <span class="ruby-keyword kw">end</span>
50
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">socket</span><span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span>)
51
- <span class="ruby-identifier">err</span>=<span class="ruby-constant">IOError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;dnsruby can't connect to #{@server}:#{port} from #{@src_addr}:#{@src_port}, use_tcp=#{use_tcp}&quot;</span>)
52
- <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;#{err}&quot;</span>)
53
- <span class="ruby-identifier">st</span>.<span class="ruby-identifier">push_exception_to_select</span>(<span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">err</span>, <span class="ruby-keyword kw">nil</span>)
54
- <span class="ruby-keyword kw">return</span>
55
- <span class="ruby-keyword kw">end</span>
56
- <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Sending packet to #{@server}:#{@port} from #{@src_addr}:#{@src_port}, use_tcp=#{use_tcp}&quot;</span>)
57
- <span class="ruby-keyword kw">begin</span>
58
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">use_tcp</span>)
59
- <span class="ruby-identifier">lenmsg</span> = [<span class="ruby-identifier">query_packet</span>.<span class="ruby-identifier">length</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'n'</span>)
60
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">lenmsg</span>, <span class="ruby-value">0</span>)
39
+ <span class="ruby-comment cmt">#Are we using EventMachine or native Dnsruby?</span>
40
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">eventmachine?</span>)
41
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">send_eventmachine</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">use_tcp</span>)
42
+ <span class="ruby-keyword kw">else</span>
43
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">client_query_id</span>)
44
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-identifier">msg</span>
61
45
  <span class="ruby-keyword kw">end</span>
62
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-value">0</span>)
63
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
64
- <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">close</span>
65
- <span class="ruby-identifier">err</span>=<span class="ruby-constant">IOError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Send failed to #{@server}:#{@port} from #{@src_addr}:#{@src_port}, use_tcp=#{use_tcp}, exception : #{e}&quot;</span>)
66
- <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;#{err}&quot;</span>)
67
- <span class="ruby-identifier">st</span>.<span class="ruby-identifier">push_exception_to_select</span>(<span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">err</span>, <span class="ruby-keyword kw">nil</span>)
68
- <span class="ruby-keyword kw">return</span>
46
+ <span class="ruby-identifier">send_dnsruby</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">use_tcp</span>)
47
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">client_query_id</span>
69
48
  <span class="ruby-keyword kw">end</span>
70
-
71
- <span class="ruby-comment cmt"># Then listen for the response</span>
72
- <span class="ruby-identifier">query_settings</span> = <span class="ruby-constant">SelectThread</span><span class="ruby-operator">::</span><span class="ruby-constant">QuerySettings</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">id</span>, <span class="ruby-ivar">@tsig_key</span>, <span class="ruby-ivar">@ignore_truncation</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">socket</span>, <span class="ruby-ivar">@server</span>, <span class="ruby-ivar">@port</span>, <span class="ruby-identifier">endtime</span>)
73
- <span class="ruby-comment cmt"># The select thread will now wait for the response and send that or a timeout</span>
74
- <span class="ruby-comment cmt"># back to the client_queue</span>
75
- <span class="ruby-identifier">st</span>.<span class="ruby-identifier">add_to_select</span>(<span class="ruby-identifier">query_settings</span>)
76
49
  <span class="ruby-keyword kw">end</span></pre>
77
50
  </body>
78
51
  </html>
@@ -5,16 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>udp_packet_size (Dnsruby::SingleResolver)</title>
8
+ <title>check_response (Dnsruby::SingleResolver)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 305</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">udp_packet_size</span>
15
- <span class="ruby-comment cmt"># if @udp_size &gt; DefaultUDPSize then we use EDNS and </span>
16
- <span class="ruby-comment cmt"># @udp_size should be taken as the maximum packet_data length</span>
17
- <span class="ruby-identifier">ret</span> = (<span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span> <span class="ruby-value">? </span><span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 340</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check_response</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">tcp</span>)
15
+ <span class="ruby-comment cmt"># @TODO@ Check TSIG!</span>
16
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">true</span>
17
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">tc</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tcp</span>)
18
+ <span class="ruby-comment cmt"># Try to resend over tcp</span>
19
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Truncated - resending over TCP&quot;</span>)
20
+ <span class="ruby-identifier">send_async</span>(<span class="ruby-constant">Message</span>.<span class="ruby-identifier">decode</span>(<span class="ruby-identifier">query</span>), <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-keyword kw">true</span>)
21
+ <span class="ruby-identifier">ret</span>=<span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-keyword kw">end</span>
18
23
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ret</span>
19
24
  <span class="ruby-keyword kw">end</span></pre>
20
25
  </body>
@@ -0,0 +1,21 @@
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>
7
+ <head>
8
+ <title>udp_packet_size (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 400</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">udp_packet_size</span>
15
+ <span class="ruby-comment cmt"># if @udp_size &gt; DefaultUDPSize then we use EDNS and </span>
16
+ <span class="ruby-comment cmt"># @udp_size should be taken as the maximum packet_data length</span>
17
+ <span class="ruby-identifier">ret</span> = (<span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span> <span class="ruby-value">? </span><span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span>)
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ret</span>
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>udp_size= (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 89</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">udp_size=</span>(<span class="ruby-identifier">size</span>)
15
+ <span class="ruby-ivar">@udp_size</span> = <span class="ruby-identifier">size</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,19 @@
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>
7
+ <head>
8
+ <title>server= (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 93</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">server=</span>(<span class="ruby-identifier">server</span>)
15
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;SingleResolver setting server to #{server}&quot;</span>)
16
+ <span class="ruby-ivar">@server</span>=<span class="ruby-constant">Config</span>.<span class="ruby-identifier">resolve_server</span>(<span class="ruby-identifier">server</span>)
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,49 @@
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>
7
+ <head>
8
+ <title>new (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 112</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
15
+ <span class="ruby-identifier">arg</span>=<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
16
+ <span class="ruby-ivar">@packet_timeout</span> = <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultPacketTimeout</span>
17
+ <span class="ruby-ivar">@port</span> = <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultPort</span>
18
+ <span class="ruby-ivar">@udp_size</span> = <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span>
19
+ <span class="ruby-ivar">@use_tcp</span> = <span class="ruby-keyword kw">false</span>
20
+ <span class="ruby-ivar">@tsig_key</span> = <span class="ruby-keyword kw">nil</span>
21
+ <span class="ruby-ivar">@ignore_truncation</span> = <span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-ivar">@src_addr</span> = <span class="ruby-value str">'0.0.0.0'</span>
23
+ <span class="ruby-ivar">@src_port</span> = <span class="ruby-value">0</span>
24
+ <span class="ruby-ivar">@recurse</span> = <span class="ruby-keyword kw">true</span>
25
+ <span class="ruby-ivar">@persistent_udp</span> = <span class="ruby-keyword kw">false</span>
26
+ <span class="ruby-ivar">@persistent_tcp</span> = <span class="ruby-keyword kw">false</span>
27
+
28
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">arg</span><span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span>)
29
+ <span class="ruby-comment cmt"># Get default config</span>
30
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
31
+ <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">nameserver</span>[<span class="ruby-value">0</span>]
32
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">kind_of?</span><span class="ruby-constant">String</span>)
33
+ <span class="ruby-ivar">@server</span>=<span class="ruby-identifier">arg</span>
34
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">kind_of?</span><span class="ruby-constant">Hash</span>)
35
+ <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
36
+ <span class="ruby-keyword kw">begin</span>
37
+ <span class="ruby-identifier">send</span>(<span class="ruby-identifier">attr</span>.<span class="ruby-identifier">to_s</span><span class="ruby-operator">+</span><span class="ruby-value str">&quot;=&quot;</span>, <span class="ruby-identifier">arg</span>[<span class="ruby-identifier">attr</span>])
38
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span>
39
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Argument #{attr} not valid\n&quot;</span>)
40
+ <span class="ruby-keyword kw">end</span>
41
+ <span class="ruby-comment cmt"># end</span>
42
+ <span class="ruby-keyword kw">end</span>
43
+ <span class="ruby-keyword kw">end</span>
44
+ <span class="ruby-comment cmt">#Check server is IP</span>
45
+ <span class="ruby-ivar">@server</span>=<span class="ruby-constant">Config</span>.<span class="ruby-identifier">resolve_server</span>(<span class="ruby-ivar">@server</span>)
46
+
47
+ <span class="ruby-keyword kw">end</span></pre>
48
+ </body>
49
+ </html>
@@ -0,0 +1,18 @@
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>
7
+ <head>
8
+ <title>close (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 147</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
15
+ <span class="ruby-comment cmt"># @TODO@ What about closing?</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,21 @@
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>
7
+ <head>
8
+ <title>query (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 153</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>=<span class="ruby-constant">Types</span>.<span class="ruby-constant">A</span>, <span class="ruby-identifier">klass</span>=<span class="ruby-constant">Classes</span>.<span class="ruby-constant">IN</span>)
15
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>
16
+ <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">rd</span> = <span class="ruby-value">1</span>
17
+ <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">add_question</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">klass</span>)
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>)
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,25 @@
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>
7
+ <head>
8
+ <title>send_message (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 167</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">use_tcp</span>=<span class="ruby-ivar">@use_tcp</span>)
15
+ <span class="ruby-identifier">q</span> = <span class="ruby-constant">Queue</span>.<span class="ruby-identifier">new</span>
16
+ <span class="ruby-identifier">send_async</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-identifier">q</span>, <span class="ruby-identifier">q</span>, <span class="ruby-identifier">use_tcp</span>)
17
+ <span class="ruby-identifier">id</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">error</span> = <span class="ruby-identifier">q</span>.<span class="ruby-identifier">pop</span>
18
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">error</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>)
19
+ <span class="ruby-identifier">raise</span> <span class="ruby-identifier">error</span>
20
+ <span class="ruby-keyword kw">else</span>
21
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">msg</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,51 @@
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>
7
+ <head>
8
+ <title>send_async (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 215</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_async</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-comment cmt"># msg, client_queue, client_query_id, use_tcp=@use_tcp)</span>
15
+ <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
16
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-keyword kw">nil</span>
17
+ <span class="ruby-identifier">client_queue</span> = <span class="ruby-keyword kw">nil</span>
18
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-ivar">@use_tcp</span>
19
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">kind_of?</span><span class="ruby-constant">String</span>)
20
+ <span class="ruby-identifier">msg</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>)
21
+ <span class="ruby-keyword kw">end</span>
22
+ <span class="ruby-identifier">query_packet</span> = <span class="ruby-identifier">make_query_packet</span>(<span class="ruby-identifier">msg</span>)
23
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">udp_packet_size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">query_packet</span>.<span class="ruby-identifier">length</span>)
24
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-keyword kw">true</span>
25
+ <span class="ruby-keyword kw">end</span>
26
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>)
27
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">class</span><span class="ruby-operator">==</span><span class="ruby-constant">Queue</span>)
28
+ <span class="ruby-identifier">client_queue</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
29
+ <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
30
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
31
+ <span class="ruby-keyword kw">end</span>
32
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>)
33
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>]
34
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">3</span>)
35
+ <span class="ruby-identifier">use_tcp</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">3</span>]
36
+ <span class="ruby-keyword kw">end</span>
37
+ <span class="ruby-keyword kw">end</span>
38
+ <span class="ruby-keyword kw">end</span>
39
+ <span class="ruby-comment cmt">#Are we using EventMachine or native Dnsruby?</span>
40
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">eventmachine?</span>)
41
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">send_eventmachine</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">use_tcp</span>)
42
+ <span class="ruby-keyword kw">else</span>
43
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">client_query_id</span>)
44
+ <span class="ruby-identifier">client_query_id</span> = <span class="ruby-identifier">msg</span>
45
+ <span class="ruby-keyword kw">end</span>
46
+ <span class="ruby-identifier">send_dnsruby</span>(<span class="ruby-identifier">query_packet</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">use_tcp</span>)
47
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">client_query_id</span>
48
+ <span class="ruby-keyword kw">end</span>
49
+ <span class="ruby-keyword kw">end</span></pre>
50
+ </body>
51
+ </html>
@@ -0,0 +1,26 @@
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>
7
+ <head>
8
+ <title>check_response (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 340</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check_response</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-identifier">tcp</span>)
15
+ <span class="ruby-comment cmt"># @TODO@ Check TSIG!</span>
16
+ <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">true</span>
17
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">tc</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tcp</span>)
18
+ <span class="ruby-comment cmt"># Try to resend over tcp</span>
19
+ <span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Truncated - resending over TCP&quot;</span>)
20
+ <span class="ruby-identifier">send_async</span>(<span class="ruby-constant">Message</span>.<span class="ruby-identifier">decode</span>(<span class="ruby-identifier">query</span>), <span class="ruby-identifier">client_queue</span>, <span class="ruby-identifier">client_query_id</span>, <span class="ruby-keyword kw">true</span>)
21
+ <span class="ruby-identifier">ret</span>=<span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ret</span>
24
+ <span class="ruby-keyword kw">end</span></pre>
25
+ </body>
26
+ </html>
@@ -0,0 +1,21 @@
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>
7
+ <head>
8
+ <title>udp_packet_size (Dnsruby::SingleResolver)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/Dnsruby/SingleResolver.rb, line 400</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">udp_packet_size</span>
15
+ <span class="ruby-comment cmt"># if @udp_size &gt; DefaultUDPSize then we use EDNS and </span>
16
+ <span class="ruby-comment cmt"># @udp_size should be taken as the maximum packet_data length</span>
17
+ <span class="ruby-identifier">ret</span> = (<span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span> <span class="ruby-value">? </span><span class="ruby-ivar">@udp_size</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Resolver</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUDPSize</span>)
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ret</span>
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>