dnsruby 1.1 → 1.2
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.
- data/README +3 -3
- data/lib/Dnsruby/Config.rb +3 -3
- data/lib/Dnsruby/DNS.rb +4 -2
- data/lib/Dnsruby/Resolver.rb +42 -38
- data/lib/Dnsruby/SingleResolver.rb +29 -21
- data/lib/Dnsruby/TheLog.rb +5 -21
- data/lib/Dnsruby/dnssec.rb +1 -1
- data/lib/Dnsruby/event_machine_interface.rb +23 -22
- data/lib/Dnsruby/message.rb +1 -1
- data/lib/Dnsruby/name.rb +1 -0
- data/lib/Dnsruby/resource/TKEY.rb +1 -1
- data/lib/Dnsruby/resource/TSIG.rb +8 -8
- data/lib/Dnsruby/select_thread.rb +19 -17
- data/lib/Dnsruby/zone_transfer.rb +6 -6
- data/lib/dnsruby.rb +10 -1
- data/test/tc_dns.rb +5 -1
- data/test/tc_event_machine_deferrable.rb +1 -1
- data/test/tc_event_machine_res.rb +1 -1
- data/test/tc_event_machine_single_res.rb +1 -1
- data/test/tc_event_machine_soak.rb +4 -4
- data/test/tc_res_opt.rb +4 -4
- data/test/tc_single_resolver.rb +1 -6
- data/test/tc_soak_base.rb +2 -2
- data/test/tc_tsig.rb +3 -3
- data/test/ts_offline.rb +1 -1
- data/test/ts_online.rb +1 -1
- metadata +2 -480
- data/doc/classes/Dnsruby/Algorithms.html +0 -171
- data/doc/classes/Dnsruby/Classes.html +0 -197
- data/doc/classes/Dnsruby/Classes.src/M000209.html +0 -23
- data/doc/classes/Dnsruby/Classes.src/M000210.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.html +0 -375
- data/doc/classes/Dnsruby/CodeMapper.src/M000186.html +0 -18
- data/doc/classes/Dnsruby/CodeMapper.src/M000187.html +0 -33
- data/doc/classes/Dnsruby/CodeMapper.src/M000188.html +0 -21
- data/doc/classes/Dnsruby/CodeMapper.src/M000189.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.src/M000190.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.src/M000191.html +0 -18
- data/doc/classes/Dnsruby/CodeMapper.src/M000192.html +0 -22
- data/doc/classes/Dnsruby/CodeMapper.src/M000193.html +0 -22
- data/doc/classes/Dnsruby/CodeMapper.src/M000194.html +0 -22
- data/doc/classes/Dnsruby/CodeMapper.src/M000195.html +0 -31
- data/doc/classes/Dnsruby/CodeMapper.src/M000196.html +0 -19
- data/doc/classes/Dnsruby/Config.html +0 -413
- data/doc/classes/Dnsruby/Config.src/M000148.html +0 -18
- data/doc/classes/Dnsruby/Config.src/M000149.html +0 -19
- data/doc/classes/Dnsruby/Config.src/M000150.html +0 -19
- data/doc/classes/Dnsruby/Config.src/M000151.html +0 -25
- data/doc/classes/Dnsruby/Config.src/M000152.html +0 -21
- data/doc/classes/Dnsruby/Config.src/M000153.html +0 -38
- data/doc/classes/Dnsruby/Config.src/M000154.html +0 -26
- data/doc/classes/Dnsruby/Config.src/M000155.html +0 -22
- data/doc/classes/Dnsruby/Config.src/M000156.html +0 -27
- data/doc/classes/Dnsruby/Config.src/M000157.html +0 -22
- data/doc/classes/Dnsruby/Config.src/M000158.html +0 -21
- data/doc/classes/Dnsruby/DNS.html +0 -571
- data/doc/classes/Dnsruby/DNS.src/M000258.html +0 -24
- data/doc/classes/Dnsruby/DNS.src/M000259.html +0 -18
- data/doc/classes/Dnsruby/DNS.src/M000260.html +0 -18
- data/doc/classes/Dnsruby/DNS.src/M000261.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000262.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000263.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000264.html +0 -18
- data/doc/classes/Dnsruby/DNS.src/M000265.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000266.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000267.html +0 -28
- data/doc/classes/Dnsruby/DNS.src/M000268.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000269.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000270.html +0 -31
- data/doc/classes/Dnsruby/DecodeError.html +0 -120
- data/doc/classes/Dnsruby/Dnssec.html +0 -287
- data/doc/classes/Dnsruby/Dnssec.src/M000249.html +0 -23
- data/doc/classes/Dnsruby/Dnssec.src/M000250.html +0 -19
- data/doc/classes/Dnsruby/Dnssec.src/M000251.html +0 -90
- data/doc/classes/Dnsruby/Dnssec.src/M000252.html +0 -76
- data/doc/classes/Dnsruby/EncodeError.html +0 -120
- data/doc/classes/Dnsruby/FormErr.html +0 -119
- data/doc/classes/Dnsruby/Header.html +0 -501
- data/doc/classes/Dnsruby/Header.src/M000231.html +0 -35
- data/doc/classes/Dnsruby/Header.src/M000232.html +0 -18
- data/doc/classes/Dnsruby/Header.src/M000233.html +0 -18
- data/doc/classes/Dnsruby/Header.src/M000234.html +0 -21
- data/doc/classes/Dnsruby/Header.src/M000235.html +0 -20
- data/doc/classes/Dnsruby/Header.src/M000236.html +0 -32
- data/doc/classes/Dnsruby/Header.src/M000237.html +0 -27
- data/doc/classes/Dnsruby/Header.src/M000238.html +0 -26
- data/doc/classes/Dnsruby/Header.src/M000239.html +0 -47
- data/doc/classes/Dnsruby/Header.src/M000240.html +0 -28
- data/doc/classes/Dnsruby/Header.src/M000241.html +0 -30
- data/doc/classes/Dnsruby/Hosts.html +0 -316
- data/doc/classes/Dnsruby/Hosts.src/M000197.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000198.html +0 -19
- data/doc/classes/Dnsruby/Hosts.src/M000199.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000200.html +0 -21
- data/doc/classes/Dnsruby/Hosts.src/M000201.html +0 -19
- data/doc/classes/Dnsruby/Hosts.src/M000202.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000203.html +0 -21
- data/doc/classes/Dnsruby/IPv4.html +0 -233
- data/doc/classes/Dnsruby/IPv4.src/M000204.html +0 -32
- data/doc/classes/Dnsruby/IPv4.src/M000205.html +0 -19
- data/doc/classes/Dnsruby/IPv4.src/M000206.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000207.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000208.html +0 -18
- data/doc/classes/Dnsruby/IPv6.html +0 -281
- data/doc/classes/Dnsruby/IPv6.src/M000242.html +0 -60
- data/doc/classes/Dnsruby/IPv6.src/M000243.html +0 -22
- data/doc/classes/Dnsruby/IPv6.src/M000244.html +0 -20
- data/doc/classes/Dnsruby/IPv6.src/M000245.html +0 -18
- data/doc/classes/Dnsruby/Message/Section.html +0 -160
- data/doc/classes/Dnsruby/Message/Section.src/M000141.html +0 -29
- data/doc/classes/Dnsruby/Message/Section.src/M000142.html +0 -30
- data/doc/classes/Dnsruby/Message.html +0 -803
- data/doc/classes/Dnsruby/Message.src/M000119.html +0 -38
- data/doc/classes/Dnsruby/Message.src/M000120.html +0 -26
- data/doc/classes/Dnsruby/Message.src/M000121.html +0 -22
- data/doc/classes/Dnsruby/Message.src/M000122.html +0 -22
- data/doc/classes/Dnsruby/Message.src/M000123.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000124.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000125.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000126.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000127.html +0 -18
- data/doc/classes/Dnsruby/Message.src/M000128.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000129.html +0 -23
- data/doc/classes/Dnsruby/Message.src/M000130.html +0 -30
- data/doc/classes/Dnsruby/Message.src/M000131.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000132.html +0 -18
- data/doc/classes/Dnsruby/Message.src/M000133.html +0 -56
- data/doc/classes/Dnsruby/Message.src/M000134.html +0 -35
- data/doc/classes/Dnsruby/Message.src/M000135.html +0 -46
- data/doc/classes/Dnsruby/MetaTypes.html +0 -136
- data/doc/classes/Dnsruby/Modes.html +0 -171
- data/doc/classes/Dnsruby/NXDomain.html +0 -119
- data/doc/classes/Dnsruby/Name/Label.html +0 -300
- data/doc/classes/Dnsruby/Name/Label.src/M000110.html +0 -21
- data/doc/classes/Dnsruby/Name/Label.src/M000111.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000112.html +0 -22
- data/doc/classes/Dnsruby/Name/Label.src/M000113.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000114.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000115.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000116.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000117.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000118.html +0 -18
- data/doc/classes/Dnsruby/Name.html +0 -330
- data/doc/classes/Dnsruby/Name.src/M000104.html +0 -28
- data/doc/classes/Dnsruby/Name.src/M000105.html +0 -20
- data/doc/classes/Dnsruby/Name.src/M000106.html +0 -18
- data/doc/classes/Dnsruby/Name.src/M000107.html +0 -21
- data/doc/classes/Dnsruby/Name.src/M000108.html +0 -22
- data/doc/classes/Dnsruby/Name.src/M000109.html +0 -18
- data/doc/classes/Dnsruby/NotImp.html +0 -119
- data/doc/classes/Dnsruby/OpCode.html +0 -146
- data/doc/classes/Dnsruby/OtherResolvError.html +0 -119
- data/doc/classes/Dnsruby/QTypes.html +0 -146
- data/doc/classes/Dnsruby/Question.html +0 -301
- data/doc/classes/Dnsruby/Question.src/M000226.html +0 -47
- data/doc/classes/Dnsruby/Question.src/M000227.html +0 -18
- data/doc/classes/Dnsruby/Question.src/M000228.html +0 -18
- data/doc/classes/Dnsruby/Question.src/M000229.html +0 -32
- data/doc/classes/Dnsruby/Question.src/M000230.html +0 -18
- data/doc/classes/Dnsruby/RCode.html +0 -211
- data/doc/classes/Dnsruby/RR/ANY.html +0 -133
- data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +0 -169
- data/doc/classes/Dnsruby/RR/CERT.html +0 -180
- data/doc/classes/Dnsruby/RR/CNAME.html +0 -151
- data/doc/classes/Dnsruby/RR/DNAME.html +0 -150
- data/doc/classes/Dnsruby/RR/DNSKEY.html +0 -422
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000044.html +0 -20
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000045.html +0 -21
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000046.html +0 -28
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000047.html +0 -22
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000048.html +0 -18
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000049.html +0 -22
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000050.html +0 -18
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000051.html +0 -26
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000052.html +0 -38
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000053.html +0 -45
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000054.html +0 -21
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000055.html +0 -24
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000056.html +0 -32
- data/doc/classes/Dnsruby/RR/DNSKEY.src/M000057.html +0 -24
- data/doc/classes/Dnsruby/RR/DS.html +0 -286
- data/doc/classes/Dnsruby/RR/DS.src/M000039.html +0 -22
- data/doc/classes/Dnsruby/RR/DS.src/M000040.html +0 -28
- data/doc/classes/Dnsruby/RR/DS.src/M000041.html +0 -24
- data/doc/classes/Dnsruby/RR/DS.src/M000042.html +0 -28
- data/doc/classes/Dnsruby/RR/DS.src/M000043.html +0 -36
- data/doc/classes/Dnsruby/RR/DomainName.html +0 -175
- data/doc/classes/Dnsruby/RR/DomainName.src/M000083.html +0 -18
- data/doc/classes/Dnsruby/RR/Generic.html +0 -133
- data/doc/classes/Dnsruby/RR/HINFO.html +0 -155
- data/doc/classes/Dnsruby/RR/IN/A.html +0 -200
- data/doc/classes/Dnsruby/RR/IN/A.src/M000017.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/AAAA.html +0 -139
- data/doc/classes/Dnsruby/RR/IN/AFSDB.html +0 -145
- data/doc/classes/Dnsruby/RR/IN/PX.html +0 -143
- data/doc/classes/Dnsruby/RR/IN/SRV.html +0 -238
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000014.html +0 -29
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +0 -26
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +0 -22
- data/doc/classes/Dnsruby/RR/IN/WKS.html +0 -166
- data/doc/classes/Dnsruby/RR/IN/WKS.src/M000020.html +0 -20
- data/doc/classes/Dnsruby/RR/IN.html +0 -155
- data/doc/classes/Dnsruby/RR/ISDN.html +0 -155
- data/doc/classes/Dnsruby/RR/LOC.html +0 -395
- data/doc/classes/Dnsruby/RR/LOC.src/M000025.html +0 -32
- data/doc/classes/Dnsruby/RR/LOC.src/M000026.html +0 -23
- data/doc/classes/Dnsruby/RR/LOC.src/M000027.html +0 -25
- data/doc/classes/Dnsruby/RR/LOC.src/M000028.html +0 -21
- data/doc/classes/Dnsruby/RR/LOC.src/M000029.html +0 -20
- data/doc/classes/Dnsruby/RR/LOC.src/M000030.html +0 -23
- data/doc/classes/Dnsruby/RR/MB.html +0 -150
- data/doc/classes/Dnsruby/RR/MG.html +0 -150
- data/doc/classes/Dnsruby/RR/MINFO.html +0 -156
- data/doc/classes/Dnsruby/RR/MR.html +0 -150
- data/doc/classes/Dnsruby/RR/MX.html +0 -155
- data/doc/classes/Dnsruby/RR/NAPTR.html +0 -190
- data/doc/classes/Dnsruby/RR/NS.html +0 -151
- data/doc/classes/Dnsruby/RR/NSAP.html +0 -293
- data/doc/classes/Dnsruby/RR/NSAP.src/M000093.html +0 -19
- data/doc/classes/Dnsruby/RR/NSAP.src/M000094.html +0 -19
- data/doc/classes/Dnsruby/RR/NSAP.src/M000095.html +0 -22
- data/doc/classes/Dnsruby/RR/NSAP.src/M000096.html +0 -31
- data/doc/classes/Dnsruby/RR/NSEC.html +0 -301
- data/doc/classes/Dnsruby/RR/NSEC.src/M000031.html +0 -19
- data/doc/classes/Dnsruby/RR/NSEC.src/M000032.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC.src/M000033.html +0 -34
- data/doc/classes/Dnsruby/RR/NSEC.src/M000034.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC.src/M000035.html +0 -71
- data/doc/classes/Dnsruby/RR/NSEC.src/M000036.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC.src/M000037.html +0 -80
- data/doc/classes/Dnsruby/RR/NSEC.src/M000038.html +0 -23
- data/doc/classes/Dnsruby/RR/NSEC3.html +0 -366
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000085.html +0 -28
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000086.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000087.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000088.html +0 -22
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000089.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000090.html +0 -21
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000091.html +0 -21
- data/doc/classes/Dnsruby/RR/NSEC3.src/M000092.html +0 -29
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.html +0 -279
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000077.html +0 -28
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000078.html +0 -18
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000079.html +0 -22
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000080.html +0 -21
- data/doc/classes/Dnsruby/RR/NSEC3PARAM.src/M000081.html +0 -25
- data/doc/classes/Dnsruby/RR/PTR.html +0 -132
- data/doc/classes/Dnsruby/RR/RP.html +0 -183
- data/doc/classes/Dnsruby/RR/RP.src/M000082.html +0 -19
- data/doc/classes/Dnsruby/RR/RRSIG.html +0 -357
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000097.html +0 -26
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000098.html +0 -28
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000099.html +0 -23
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000100.html +0 -23
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000101.html +0 -46
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000102.html +0 -50
- data/doc/classes/Dnsruby/RR/RRSIG.src/M000103.html +0 -27
- data/doc/classes/Dnsruby/RR/RT.html +0 -155
- data/doc/classes/Dnsruby/RR/SOA.html +0 -233
- data/doc/classes/Dnsruby/RR/SOA.src/M000066.html +0 -24
- data/doc/classes/Dnsruby/RR/SOA.src/M000067.html +0 -27
- data/doc/classes/Dnsruby/RR/SPF.html +0 -138
- data/doc/classes/Dnsruby/RR/TKEY.html +0 -313
- data/doc/classes/Dnsruby/RR/TKEY.src/M000021.html +0 -19
- data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +0 -29
- data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +0 -21
- data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +0 -29
- data/doc/classes/Dnsruby/RR/TSIG.html +0 -524
- data/doc/classes/Dnsruby/RR/TSIG.src/M000068.html +0 -24
- data/doc/classes/Dnsruby/RR/TSIG.src/M000069.html +0 -32
- data/doc/classes/Dnsruby/RR/TSIG.src/M000070.html +0 -54
- data/doc/classes/Dnsruby/RR/TSIG.src/M000071.html +0 -121
- data/doc/classes/Dnsruby/RR/TSIG.src/M000072.html +0 -33
- data/doc/classes/Dnsruby/RR/TSIG.src/M000073.html +0 -25
- data/doc/classes/Dnsruby/RR/TSIG.src/M000074.html +0 -36
- data/doc/classes/Dnsruby/RR/TSIG.src/M000075.html +0 -22
- data/doc/classes/Dnsruby/RR/TSIG.src/M000076.html +0 -29
- data/doc/classes/Dnsruby/RR/TXT.html +0 -233
- data/doc/classes/Dnsruby/RR/TXT.src/M000061.html +0 -18
- data/doc/classes/Dnsruby/RR/TXT.src/M000062.html +0 -18
- data/doc/classes/Dnsruby/RR/TXT.src/M000063.html +0 -20
- data/doc/classes/Dnsruby/RR/TXT.src/M000064.html +0 -27
- data/doc/classes/Dnsruby/RR/TXT.src/M000065.html +0 -25
- data/doc/classes/Dnsruby/RR/X25.html +0 -203
- data/doc/classes/Dnsruby/RR/X25.src/M000058.html +0 -18
- data/doc/classes/Dnsruby/RR/X25.src/M000059.html +0 -18
- data/doc/classes/Dnsruby/RR/X25.src/M000060.html +0 -22
- data/doc/classes/Dnsruby/RR.html +0 -648
- data/doc/classes/Dnsruby/RR.src/M000001.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000002.html +0 -22
- data/doc/classes/Dnsruby/RR.src/M000003.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000004.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000005.html +0 -26
- data/doc/classes/Dnsruby/RR.src/M000006.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000007.html +0 -36
- data/doc/classes/Dnsruby/RR.src/M000008.html +0 -100
- data/doc/classes/Dnsruby/RR.src/M000009.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000010.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000011.html +0 -22
- data/doc/classes/Dnsruby/RR.src/M000012.html +0 -29
- data/doc/classes/Dnsruby/RR.src/M000013.html +0 -24
- data/doc/classes/Dnsruby/RRSet.html +0 -404
- data/doc/classes/Dnsruby/RRSet.src/M000211.html +0 -23
- data/doc/classes/Dnsruby/RRSet.src/M000212.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000213.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000214.html +0 -47
- data/doc/classes/Dnsruby/RRSet.src/M000215.html +0 -42
- data/doc/classes/Dnsruby/RRSet.src/M000216.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000217.html +0 -20
- data/doc/classes/Dnsruby/RRSet.src/M000218.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000219.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000220.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000221.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000222.html +0 -22
- data/doc/classes/Dnsruby/RRSet.src/M000223.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000224.html +0 -22
- data/doc/classes/Dnsruby/RRSet.src/M000225.html +0 -18
- data/doc/classes/Dnsruby/Refused.html +0 -119
- data/doc/classes/Dnsruby/Resolv.html +0 -401
- data/doc/classes/Dnsruby/Resolv.src/M000159.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000160.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000161.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000162.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000163.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000164.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000165.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000166.html +0 -19
- data/doc/classes/Dnsruby/Resolv.src/M000167.html +0 -20
- data/doc/classes/Dnsruby/Resolv.src/M000168.html +0 -29
- data/doc/classes/Dnsruby/Resolv.src/M000169.html +0 -19
- data/doc/classes/Dnsruby/Resolv.src/M000170.html +0 -20
- data/doc/classes/Dnsruby/Resolv.src/M000171.html +0 -25
- data/doc/classes/Dnsruby/ResolvError.html +0 -117
- data/doc/classes/Dnsruby/ResolvTimeout.html +0 -117
- data/doc/classes/Dnsruby/Resolver.html +0 -1055
- data/doc/classes/Dnsruby/Resolver.src/M000271.html +0 -21
- data/doc/classes/Dnsruby/Resolver.src/M000272.html +0 -27
- data/doc/classes/Dnsruby/Resolver.src/M000273.html +0 -28
- data/doc/classes/Dnsruby/Resolver.src/M000274.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000275.html +0 -51
- data/doc/classes/Dnsruby/Resolver.src/M000276.html +0 -21
- data/doc/classes/Dnsruby/Resolver.src/M000277.html +0 -22
- data/doc/classes/Dnsruby/Resolver.src/M000278.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000279.html +0 -20
- data/doc/classes/Dnsruby/Resolver.src/M000280.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000281.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000282.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000283.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000284.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000285.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000286.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000287.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000288.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000289.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000290.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000291.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000292.html +0 -26
- data/doc/classes/Dnsruby/Resolver.src/M000293.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000294.html +0 -23
- data/doc/classes/Dnsruby/Resolver.src/M000295.html +0 -18
- data/doc/classes/Dnsruby/ServFail.html +0 -119
- data/doc/classes/Dnsruby/SingleResolver.html +0 -674
- data/doc/classes/Dnsruby/SingleResolver.src/M000172.html +0 -18
- data/doc/classes/Dnsruby/SingleResolver.src/M000173.html +0 -24
- data/doc/classes/Dnsruby/SingleResolver.src/M000174.html +0 -36
- data/doc/classes/Dnsruby/SingleResolver.src/M000175.html +0 -18
- data/doc/classes/Dnsruby/SingleResolver.src/M000176.html +0 -19
- data/doc/classes/Dnsruby/SingleResolver.src/M000177.html +0 -50
- data/doc/classes/Dnsruby/SingleResolver.src/M000178.html +0 -19
- data/doc/classes/Dnsruby/SingleResolver.src/M000179.html +0 -21
- data/doc/classes/Dnsruby/SingleResolver.src/M000180.html +0 -25
- data/doc/classes/Dnsruby/SingleResolver.src/M000181.html +0 -54
- data/doc/classes/Dnsruby/SingleResolver.src/M000182.html +0 -27
- data/doc/classes/Dnsruby/SingleResolver.src/M000183.html +0 -27
- data/doc/classes/Dnsruby/SingleResolver.src/M000184.html +0 -35
- data/doc/classes/Dnsruby/SingleResolver.src/M000185.html +0 -21
- data/doc/classes/Dnsruby/TheLog.html +0 -196
- data/doc/classes/Dnsruby/TheLog.src/M000246.html +0 -20
- data/doc/classes/Dnsruby/TheLog.src/M000247.html +0 -20
- data/doc/classes/Dnsruby/TheLog.src/M000248.html +0 -20
- data/doc/classes/Dnsruby/Types.html +0 -436
- data/doc/classes/Dnsruby/Update.html +0 -368
- data/doc/classes/Dnsruby/Update.src/M000253.html +0 -32
- data/doc/classes/Dnsruby/Update.src/M000254.html +0 -36
- data/doc/classes/Dnsruby/Update.src/M000255.html +0 -32
- data/doc/classes/Dnsruby/Update.src/M000256.html +0 -41
- data/doc/classes/Dnsruby/Update.src/M000257.html +0 -34
- data/doc/classes/Dnsruby/VerifyError.html +0 -119
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +0 -200
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000146.html +0 -19
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000147.html +0 -19
- data/doc/classes/Dnsruby/ZoneTransfer.html +0 -300
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000143.html +0 -18
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000144.html +0 -24
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000145.html +0 -35
- data/doc/classes/Dnsruby.html +0 -463
- data/doc/created.rid +0 -1
- data/doc/files/lib/Dnsruby/Config_rb.html +0 -101
- data/doc/files/lib/Dnsruby/DNS_rb.html +0 -110
- data/doc/files/lib/Dnsruby/Hosts_rb.html +0 -108
- data/doc/files/lib/Dnsruby/Resolver_rb.html +0 -109
- data/doc/files/lib/Dnsruby/SingleResolver_rb.html +0 -108
- data/doc/files/lib/Dnsruby/TheLog_rb.html +0 -110
- data/doc/files/lib/Dnsruby/code_mapper_rb.html +0 -101
- data/doc/files/lib/Dnsruby/dnssec_rb.html +0 -107
- data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +0 -108
- data/doc/files/lib/Dnsruby/ipv4_rb.html +0 -101
- data/doc/files/lib/Dnsruby/ipv6_rb.html +0 -101
- data/doc/files/lib/Dnsruby/message_rb.html +0 -109
- data/doc/files/lib/Dnsruby/name_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/A_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/CERT_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/DNSKEY_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/DS_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/IN_rb.html +0 -112
- data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/LOC_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/MX_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/NSEC3PARAM_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/NSEC3_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/NSEC_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/OPT_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/PX_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/RP_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/RRSIG_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/RT_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/SOA_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/SPF_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/SRV_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +0 -114
- data/doc/files/lib/Dnsruby/resource/TXT_rb.html +0 -108
- data/doc/files/lib/Dnsruby/resource/X25_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +0 -101
- data/doc/files/lib/Dnsruby/resource/generic_rb.html +0 -131
- data/doc/files/lib/Dnsruby/resource/resource_rb.html +0 -110
- data/doc/files/lib/Dnsruby/select_thread_rb.html +0 -111
- data/doc/files/lib/Dnsruby/update_rb.html +0 -101
- data/doc/files/lib/Dnsruby/zone_transfer_rb.html +0 -101
- data/doc/files/lib/dnsruby_rb.html +0 -118
- data/doc/fr_class_index.html +0 -108
- data/doc/fr_file_index.html +0 -75
- data/doc/fr_method_index.html +0 -321
- data/doc/index.html +0 -24
@@ -1,1055 +0,0 @@
|
|
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
|
-
<p>
|
84
|
-
<a href="Resolver.html">Dnsruby::Resolver</a> is a <a
|
85
|
-
href="DNS.html">DNS</a> stub resolver. This class uses a set of
|
86
|
-
SingleResolvers to perform queries with retries across multiple
|
87
|
-
nameservers.
|
88
|
-
</p>
|
89
|
-
<p>
|
90
|
-
The retry policy is a combination of the Net::DNS and dnsjava approach, and
|
91
|
-
has the option of :
|
92
|
-
</p>
|
93
|
-
<ul>
|
94
|
-
<li>A total timeout for the <a href="Resolver.html#M000271">query</a> (defaults
|
95
|
-
to 0, meaning "no total timeout")
|
96
|
-
|
97
|
-
</li>
|
98
|
-
<li>A retransmission system that targets the namervers concurrently once the
|
99
|
-
first <a href="Resolver.html#M000271">query</a> round is complete, but in
|
100
|
-
which the total time per <a href="Resolver.html#M000271">query</a> round is
|
101
|
-
split between the number of nameservers targetted for the first round. and
|
102
|
-
total time for <a href="Resolver.html#M000271">query</a> round is doubled
|
103
|
-
for each <a href="Resolver.html#M000271">query</a> round
|
104
|
-
|
105
|
-
</li>
|
106
|
-
</ul>
|
107
|
-
<pre>
|
108
|
-
Note that, if a total timeout is specified, then that will apply regardless of the retry policy
|
109
|
-
</pre>
|
110
|
-
<p>
|
111
|
-
(i.e. it may cut retries short).
|
112
|
-
</p>
|
113
|
-
<pre>
|
114
|
-
Note also that these timeouts are distinct from the SingleResolver's packet_timeout
|
115
|
-
</pre>
|
116
|
-
<h2>Methods</h2>
|
117
|
-
<h3>Synchronous</h3>
|
118
|
-
<p>
|
119
|
-
These methods raise an exception or return a response message with
|
120
|
-
rcode==NOERROR
|
121
|
-
</p>
|
122
|
-
<ul>
|
123
|
-
<li><a href="Resolver.html#M000272">Dnsruby::Resolver#send_message(msg)</a>
|
124
|
-
|
125
|
-
</li>
|
126
|
-
<li><a href="Resolver.html#M000271">Dnsruby::Resolver#query</a>(name [, type [,
|
127
|
-
klass]])
|
128
|
-
|
129
|
-
</li>
|
130
|
-
</ul>
|
131
|
-
<h3>Asynchronous</h3>
|
132
|
-
<p>
|
133
|
-
These methods use a response queue to return the response and the error
|
134
|
-
</p>
|
135
|
-
<ul>
|
136
|
-
<li><a href="Resolver.html#M000273">Dnsruby::Resolver#send_async</a>(msg,
|
137
|
-
response_queue, query_id)
|
138
|
-
|
139
|
-
</li>
|
140
|
-
</ul>
|
141
|
-
<h2>Event Loop</h2>
|
142
|
-
<p>
|
143
|
-
<a href="../Dnsruby.html">Dnsruby</a> runs a pure Ruby event loop to handle
|
144
|
-
I/O in a single thread. It is also possible to configure <a
|
145
|
-
href="../Dnsruby.html">Dnsruby</a> to use EventMachine instead. See the
|
146
|
-
Dnsruby::Resolver::use_eventmachine method for details.
|
147
|
-
</p>
|
148
|
-
<p>
|
149
|
-
Note that, if using <a href="../Dnsruby.html">Dnsruby</a> from an
|
150
|
-
EventMachine loop, you will need to tell <a
|
151
|
-
href="../Dnsruby.html">Dnsruby</a> not to start the event loop itself :
|
152
|
-
</p>
|
153
|
-
<pre>
|
154
|
-
Dnsruby::Resolver::use_eventmachine(true)
|
155
|
-
Dnsruby::Resolver::start_eventmachine_loop(false)
|
156
|
-
</pre>
|
157
|
-
|
158
|
-
</div>
|
159
|
-
|
160
|
-
|
161
|
-
</div>
|
162
|
-
|
163
|
-
<div id="method-list">
|
164
|
-
<h3 class="section-bar">Methods</h3>
|
165
|
-
|
166
|
-
<div class="name-list">
|
167
|
-
<a href="#M000276">add_config_nameservers</a>
|
168
|
-
<a href="#M000278">add_resolver</a>
|
169
|
-
<a href="#M000274">close</a>
|
170
|
-
<a href="#M000290">dnssec=</a>
|
171
|
-
<a href="#M000293">eventmachine?</a>
|
172
|
-
<a href="#M000284">ignore_truncation=</a>
|
173
|
-
<a href="#M000279">nameserver=</a>
|
174
|
-
<a href="#M000275">new</a>
|
175
|
-
<a href="#M000280">packet_timeout=</a>
|
176
|
-
<a href="#M000287">persistent_tcp=</a>
|
177
|
-
<a href="#M000288">persistent_udp=</a>
|
178
|
-
<a href="#M000281">port=</a>
|
179
|
-
<a href="#M000271">query</a>
|
180
|
-
<a href="#M000289">recurse=</a>
|
181
|
-
<a href="#M000273">send_async</a>
|
182
|
-
<a href="#M000272">send_message</a>
|
183
|
-
<a href="#M000277">set_config_nameserver</a>
|
184
|
-
<a href="#M000285">src_address=</a>
|
185
|
-
<a href="#M000286">src_port=</a>
|
186
|
-
<a href="#M000294">start_eventmachine_loop</a>
|
187
|
-
<a href="#M000295">start_eventmachine_loop?</a>
|
188
|
-
<a href="#M000283">tsig=</a>
|
189
|
-
<a href="#M000291">udp_size=</a>
|
190
|
-
<a href="#M000292">use_eventmachine</a>
|
191
|
-
<a href="#M000282">use_tcp=</a>
|
192
|
-
</div>
|
193
|
-
</div>
|
194
|
-
|
195
|
-
</div>
|
196
|
-
|
197
|
-
|
198
|
-
<!-- if includes -->
|
199
|
-
|
200
|
-
<div id="section">
|
201
|
-
|
202
|
-
|
203
|
-
<div id="constants-list">
|
204
|
-
<h3 class="section-bar">Constants</h3>
|
205
|
-
|
206
|
-
<div class="name-list">
|
207
|
-
<table summary="Constants">
|
208
|
-
<tr class="top-aligned-row context-row">
|
209
|
-
<td class="context-item-name">DefaultQueryTimeout</td>
|
210
|
-
<td>=</td>
|
211
|
-
<td class="context-item-value">0</td>
|
212
|
-
</tr>
|
213
|
-
<tr class="top-aligned-row context-row">
|
214
|
-
<td class="context-item-name">DefaultPacketTimeout</td>
|
215
|
-
<td>=</td>
|
216
|
-
<td class="context-item-value">10</td>
|
217
|
-
</tr>
|
218
|
-
<tr class="top-aligned-row context-row">
|
219
|
-
<td class="context-item-name">DefaultRetryTimes</td>
|
220
|
-
<td>=</td>
|
221
|
-
<td class="context-item-value">4</td>
|
222
|
-
</tr>
|
223
|
-
<tr class="top-aligned-row context-row">
|
224
|
-
<td class="context-item-name">DefaultRetryDelay</td>
|
225
|
-
<td>=</td>
|
226
|
-
<td class="context-item-value">5</td>
|
227
|
-
</tr>
|
228
|
-
<tr class="top-aligned-row context-row">
|
229
|
-
<td class="context-item-name">DefaultPort</td>
|
230
|
-
<td>=</td>
|
231
|
-
<td class="context-item-value">53</td>
|
232
|
-
</tr>
|
233
|
-
<tr class="top-aligned-row context-row">
|
234
|
-
<td class="context-item-name">DefaultUDPSize</td>
|
235
|
-
<td>=</td>
|
236
|
-
<td class="context-item-value">512</td>
|
237
|
-
</tr>
|
238
|
-
</table>
|
239
|
-
</div>
|
240
|
-
</div>
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
<div id="attribute-list">
|
245
|
-
<h3 class="section-bar">Attributes</h3>
|
246
|
-
|
247
|
-
<div class="name-list">
|
248
|
-
<table>
|
249
|
-
<tr class="top-aligned-row context-row">
|
250
|
-
<td class="context-item-name">config</td>
|
251
|
-
<td class="context-item-value"> [R] </td>
|
252
|
-
<td class="context-item-desc">
|
253
|
-
The current <a href="Config.html">Config</a>
|
254
|
-
|
255
|
-
</td>
|
256
|
-
</tr>
|
257
|
-
<tr class="top-aligned-row context-row">
|
258
|
-
<td class="context-item-name">dnssec</td>
|
259
|
-
<td class="context-item-value"> [R] </td>
|
260
|
-
<td class="context-item-desc">
|
261
|
-
Use DNSSEC for this <a href="Resolver.html">Resolver</a>
|
262
|
-
|
263
|
-
</td>
|
264
|
-
</tr>
|
265
|
-
<tr class="top-aligned-row context-row">
|
266
|
-
<td class="context-item-name">ignore_truncation</td>
|
267
|
-
<td class="context-item-value"> [R] </td>
|
268
|
-
<td class="context-item-desc">
|
269
|
-
Should truncation be ignored? i.e. the TC bit is ignored and thus the
|
270
|
-
resolver will not requery over TCP if TC is set
|
271
|
-
|
272
|
-
</td>
|
273
|
-
</tr>
|
274
|
-
<tr class="top-aligned-row context-row">
|
275
|
-
<td class="context-item-name">packet_timeout</td>
|
276
|
-
<td class="context-item-value"> [R] </td>
|
277
|
-
<td class="context-item-desc">
|
278
|
-
The timeout for any individual packet. This is the timeout used by <a
|
279
|
-
href="SingleResolver.html">SingleResolver</a>
|
280
|
-
|
281
|
-
</td>
|
282
|
-
</tr>
|
283
|
-
<tr class="top-aligned-row context-row">
|
284
|
-
<td class="context-item-name">persistent_tcp</td>
|
285
|
-
<td class="context-item-value"> [R] </td>
|
286
|
-
<td class="context-item-desc">
|
287
|
-
Should TCP queries be sent on a persistent socket?
|
288
|
-
|
289
|
-
</td>
|
290
|
-
</tr>
|
291
|
-
<tr class="top-aligned-row context-row">
|
292
|
-
<td class="context-item-name">persistent_udp</td>
|
293
|
-
<td class="context-item-value"> [R] </td>
|
294
|
-
<td class="context-item-desc">
|
295
|
-
Should UDP queries be sent on a persistent socket?
|
296
|
-
|
297
|
-
</td>
|
298
|
-
</tr>
|
299
|
-
<tr class="top-aligned-row context-row">
|
300
|
-
<td class="context-item-name">port</td>
|
301
|
-
<td class="context-item-value"> [R] </td>
|
302
|
-
<td class="context-item-desc">
|
303
|
-
The port to send queries to on the resolver
|
304
|
-
|
305
|
-
</td>
|
306
|
-
</tr>
|
307
|
-
<tr class="top-aligned-row context-row">
|
308
|
-
<td class="context-item-name">query_timeout</td>
|
309
|
-
<td class="context-item-value"> [RW] </td>
|
310
|
-
<td class="context-item-desc">
|
311
|
-
Note that this timeout represents the total time a <a
|
312
|
-
href="Resolver.html#M000271">query</a> may run for - multiple packets can
|
313
|
-
be sent to multiple nameservers in this time. This is distinct from the <a
|
314
|
-
href="SingleResolver.html">SingleResolver</a> per-packet timeout The
|
315
|
-
query_timeout is not required - it will default to 0, which means "do
|
316
|
-
not use query_timeout". If this is the case then the timeout will be
|
317
|
-
dictated by the retry_times and retry_delay attributes
|
318
|
-
|
319
|
-
</td>
|
320
|
-
</tr>
|
321
|
-
<tr class="top-aligned-row context-row">
|
322
|
-
<td class="context-item-name">recurse</td>
|
323
|
-
<td class="context-item-value"> [R] </td>
|
324
|
-
<td class="context-item-desc">
|
325
|
-
Should the Recursion Desired bit be set?
|
326
|
-
|
327
|
-
</td>
|
328
|
-
</tr>
|
329
|
-
<tr class="top-aligned-row context-row">
|
330
|
-
<td class="context-item-name">retry_delay</td>
|
331
|
-
<td class="context-item-value"> [RW] </td>
|
332
|
-
<td class="context-item-desc">
|
333
|
-
The <a href="Resolver.html#M000271">query</a> will be tried across
|
334
|
-
nameservers retry_times times, with a delay of retry_delay seconds between
|
335
|
-
each retry. The first time round, retry_delay will be divided by the number
|
336
|
-
of nameservers being targetted, and a <a
|
337
|
-
href="Resolver.html#M000275">new</a> nameserver will be queried with the
|
338
|
-
resultant delay.
|
339
|
-
|
340
|
-
</td>
|
341
|
-
</tr>
|
342
|
-
<tr class="top-aligned-row context-row">
|
343
|
-
<td class="context-item-name">retry_times</td>
|
344
|
-
<td class="context-item-value"> [RW] </td>
|
345
|
-
<td class="context-item-desc">
|
346
|
-
The <a href="Resolver.html#M000271">query</a> will be tried across
|
347
|
-
nameservers retry_times times, with a delay of retry_delay seconds between
|
348
|
-
each retry. The first time round, retry_delay will be divided by the number
|
349
|
-
of nameservers being targetted, and a <a
|
350
|
-
href="Resolver.html#M000275">new</a> nameserver will be queried with the
|
351
|
-
resultant delay.
|
352
|
-
|
353
|
-
</td>
|
354
|
-
</tr>
|
355
|
-
<tr class="top-aligned-row context-row">
|
356
|
-
<td class="context-item-name">single_resolvers</td>
|
357
|
-
<td class="context-item-value"> [R] </td>
|
358
|
-
<td class="context-item-desc">
|
359
|
-
The array of SingleResolvers used for sending <a
|
360
|
-
href="Resolver.html#M000271">query</a> messages
|
361
|
-
|
362
|
-
</td>
|
363
|
-
</tr>
|
364
|
-
<tr class="top-aligned-row context-row">
|
365
|
-
<td class="context-item-name">src_address</td>
|
366
|
-
<td class="context-item-value"> [R] </td>
|
367
|
-
<td class="context-item-desc">
|
368
|
-
The source address to send queries from
|
369
|
-
|
370
|
-
</td>
|
371
|
-
</tr>
|
372
|
-
<tr class="top-aligned-row context-row">
|
373
|
-
<td class="context-item-name">src_port</td>
|
374
|
-
<td class="context-item-value"> [R] </td>
|
375
|
-
<td class="context-item-desc">
|
376
|
-
The source port to send queries from
|
377
|
-
|
378
|
-
</td>
|
379
|
-
</tr>
|
380
|
-
<tr class="top-aligned-row context-row">
|
381
|
-
<td class="context-item-name">tsig</td>
|
382
|
-
<td class="context-item-value"> [R] </td>
|
383
|
-
<td class="context-item-desc"></td>
|
384
|
-
</tr>
|
385
|
-
<tr class="top-aligned-row context-row">
|
386
|
-
<td class="context-item-name">udp_size</td>
|
387
|
-
<td class="context-item-value"> [R] </td>
|
388
|
-
<td class="context-item-desc">
|
389
|
-
The maximum UDP size to be used
|
390
|
-
|
391
|
-
</td>
|
392
|
-
</tr>
|
393
|
-
<tr class="top-aligned-row context-row">
|
394
|
-
<td class="context-item-name">use_tcp</td>
|
395
|
-
<td class="context-item-value"> [R] </td>
|
396
|
-
<td class="context-item-desc">
|
397
|
-
Should TCP be used as a transport rather than UDP?
|
398
|
-
|
399
|
-
</td>
|
400
|
-
</tr>
|
401
|
-
</table>
|
402
|
-
</div>
|
403
|
-
</div>
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
<!-- if method_list -->
|
408
|
-
<div id="methods">
|
409
|
-
<h3 class="section-bar">Public Class methods</h3>
|
410
|
-
|
411
|
-
<div id="method-M000293" class="method-detail">
|
412
|
-
<a name="M000293"></a>
|
413
|
-
|
414
|
-
<div class="method-heading">
|
415
|
-
<a href="Resolver.src/M000293.html" target="Code" class="method-signature"
|
416
|
-
onclick="popupCode('Resolver.src/M000293.html');return false;">
|
417
|
-
<span class="method-name">eventmachine?</span><span class="method-args">()</span>
|
418
|
-
</a>
|
419
|
-
</div>
|
420
|
-
|
421
|
-
<div class="method-description">
|
422
|
-
<p>
|
423
|
-
Check whether EventMachine will be used by <a
|
424
|
-
href="../Dnsruby.html">Dnsruby</a>
|
425
|
-
</p>
|
426
|
-
</div>
|
427
|
-
</div>
|
428
|
-
|
429
|
-
<div id="method-M000275" class="method-detail">
|
430
|
-
<a name="M000275"></a>
|
431
|
-
|
432
|
-
<div class="method-heading">
|
433
|
-
<a href="Resolver.src/M000275.html" target="Code" class="method-signature"
|
434
|
-
onclick="popupCode('Resolver.src/M000275.html');return false;">
|
435
|
-
<span class="method-name">new</span><span class="method-args">(*args)</span>
|
436
|
-
</a>
|
437
|
-
</div>
|
438
|
-
|
439
|
-
<div class="method-description">
|
440
|
-
<p>
|
441
|
-
Create a <a href="Resolver.html#M000275">new</a> <a
|
442
|
-
href="Resolver.html">Resolver</a> object. If no parameters are passed in,
|
443
|
-
then the default system configuration will be used. Otherwise, a Hash may
|
444
|
-
be passed in with the following optional elements :
|
445
|
-
</p>
|
446
|
-
<ul>
|
447
|
-
<li>:port
|
448
|
-
|
449
|
-
</li>
|
450
|
-
<li>:use_tcp
|
451
|
-
|
452
|
-
</li>
|
453
|
-
<li>:tsig
|
454
|
-
|
455
|
-
</li>
|
456
|
-
<li>:ignore_truncation
|
457
|
-
|
458
|
-
</li>
|
459
|
-
<li>:src_address
|
460
|
-
|
461
|
-
</li>
|
462
|
-
<li>:src_port
|
463
|
-
|
464
|
-
</li>
|
465
|
-
<li>:persistent_tcp
|
466
|
-
|
467
|
-
</li>
|
468
|
-
<li>:persistent_udp
|
469
|
-
|
470
|
-
</li>
|
471
|
-
<li>:recurse
|
472
|
-
|
473
|
-
</li>
|
474
|
-
<li>:udp_size
|
475
|
-
|
476
|
-
</li>
|
477
|
-
<li>:config_info - see <a href="Config.html">Config</a>
|
478
|
-
|
479
|
-
</li>
|
480
|
-
<li>:nameserver - can be either a String or an array of Strings
|
481
|
-
|
482
|
-
</li>
|
483
|
-
<li>:packet_timeout
|
484
|
-
|
485
|
-
</li>
|
486
|
-
<li>:query_timeout
|
487
|
-
|
488
|
-
</li>
|
489
|
-
<li>:retry_times
|
490
|
-
|
491
|
-
</li>
|
492
|
-
<li>:retry_delay
|
493
|
-
|
494
|
-
</li>
|
495
|
-
</ul>
|
496
|
-
</div>
|
497
|
-
</div>
|
498
|
-
|
499
|
-
<div id="method-M000294" class="method-detail">
|
500
|
-
<a name="M000294"></a>
|
501
|
-
|
502
|
-
<div class="method-heading">
|
503
|
-
<a href="Resolver.src/M000294.html" target="Code" class="method-signature"
|
504
|
-
onclick="popupCode('Resolver.src/M000294.html');return false;">
|
505
|
-
<span class="method-name">start_eventmachine_loop</span><span class="method-args">(on=true)</span>
|
506
|
-
</a>
|
507
|
-
</div>
|
508
|
-
|
509
|
-
<div class="method-description">
|
510
|
-
<p>
|
511
|
-
If EventMachine is being used, then this method tells <a
|
512
|
-
href="../Dnsruby.html">Dnsruby</a> whether or not to start the EventMachine
|
513
|
-
loop. If you want to use <a href="../Dnsruby.html">Dnsruby</a> client code
|
514
|
-
as is, but using EventMachine for I/O, then <a
|
515
|
-
href="../Dnsruby.html">Dnsruby</a> must start the EventMachine loop for
|
516
|
-
you. This is the default behaviour. If you want to use EventMachine-style
|
517
|
-
code, where everything is wrapped up in an EventMachine::run{} call, then
|
518
|
-
this method should be called with false as the parameter.
|
519
|
-
</p>
|
520
|
-
<p>
|
521
|
-
Takes a bool argument to say whether or not to start the event loop when
|
522
|
-
required.
|
523
|
-
</p>
|
524
|
-
</div>
|
525
|
-
</div>
|
526
|
-
|
527
|
-
<div id="method-M000295" class="method-detail">
|
528
|
-
<a name="M000295"></a>
|
529
|
-
|
530
|
-
<div class="method-heading">
|
531
|
-
<a href="Resolver.src/M000295.html" target="Code" class="method-signature"
|
532
|
-
onclick="popupCode('Resolver.src/M000295.html');return false;">
|
533
|
-
<span class="method-name">start_eventmachine_loop?</span><span class="method-args">()</span>
|
534
|
-
</a>
|
535
|
-
</div>
|
536
|
-
|
537
|
-
<div class="method-description">
|
538
|
-
<p>
|
539
|
-
Checks whether <a href="../Dnsruby.html">Dnsruby</a> will start the
|
540
|
-
EventMachine loop when required.
|
541
|
-
</p>
|
542
|
-
</div>
|
543
|
-
</div>
|
544
|
-
|
545
|
-
<div id="method-M000292" class="method-detail">
|
546
|
-
<a name="M000292"></a>
|
547
|
-
|
548
|
-
<div class="method-heading">
|
549
|
-
<a href="Resolver.src/M000292.html" target="Code" class="method-signature"
|
550
|
-
onclick="popupCode('Resolver.src/M000292.html');return false;">
|
551
|
-
<span class="method-name">use_eventmachine</span><span class="method-args">(on=true)</span>
|
552
|
-
</a>
|
553
|
-
</div>
|
554
|
-
|
555
|
-
<div class="method-description">
|
556
|
-
<p>
|
557
|
-
Tell <a href="../Dnsruby.html">Dnsruby</a> to use EventMachine for I/O.
|
558
|
-
</p>
|
559
|
-
<p>
|
560
|
-
If EventMachine is not used, then the pure Ruby event loop in <a
|
561
|
-
href="../Dnsruby.html">Dnsruby</a> will be used instead.
|
562
|
-
</p>
|
563
|
-
<p>
|
564
|
-
If EventMachine is not available on the platform, then a RuntimeError will
|
565
|
-
be raised.
|
566
|
-
</p>
|
567
|
-
<p>
|
568
|
-
Takes a bool to say whether or not to use EventMachine.
|
569
|
-
</p>
|
570
|
-
</div>
|
571
|
-
</div>
|
572
|
-
|
573
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
574
|
-
|
575
|
-
<div id="method-M000276" class="method-detail">
|
576
|
-
<a name="M000276"></a>
|
577
|
-
|
578
|
-
<div class="method-heading">
|
579
|
-
<a href="Resolver.src/M000276.html" target="Code" class="method-signature"
|
580
|
-
onclick="popupCode('Resolver.src/M000276.html');return false;">
|
581
|
-
<span class="method-name">add_config_nameservers</span><span class="method-args">()</span>
|
582
|
-
</a>
|
583
|
-
</div>
|
584
|
-
|
585
|
-
<div class="method-description">
|
586
|
-
</div>
|
587
|
-
</div>
|
588
|
-
|
589
|
-
<div id="method-M000278" class="method-detail">
|
590
|
-
<a name="M000278"></a>
|
591
|
-
|
592
|
-
<div class="method-heading">
|
593
|
-
<a href="Resolver.src/M000278.html" target="Code" class="method-signature"
|
594
|
-
onclick="popupCode('Resolver.src/M000278.html');return false;">
|
595
|
-
<span class="method-name">add_resolver</span><span class="method-args">(single)</span>
|
596
|
-
</a>
|
597
|
-
</div>
|
598
|
-
|
599
|
-
<div class="method-description">
|
600
|
-
<p>
|
601
|
-
Add a <a href="Resolver.html#M000275">new</a> <a
|
602
|
-
href="SingleResolver.html">SingleResolver</a> to the list of resolvers this
|
603
|
-
<a href="Resolver.html">Resolver</a> object will <a
|
604
|
-
href="Resolver.html#M000271">query</a>.
|
605
|
-
</p>
|
606
|
-
</div>
|
607
|
-
</div>
|
608
|
-
|
609
|
-
<div id="method-M000274" class="method-detail">
|
610
|
-
<a name="M000274"></a>
|
611
|
-
|
612
|
-
<div class="method-heading">
|
613
|
-
<a href="Resolver.src/M000274.html" target="Code" class="method-signature"
|
614
|
-
onclick="popupCode('Resolver.src/M000274.html');return false;">
|
615
|
-
<span class="method-name">close</span><span class="method-args">()</span>
|
616
|
-
</a>
|
617
|
-
</div>
|
618
|
-
|
619
|
-
<div class="method-description">
|
620
|
-
<p>
|
621
|
-
Close the <a href="Resolver.html">Resolver</a>. Unfinished queries are
|
622
|
-
terminated with <a href="OtherResolvError.html">OtherResolvError</a>.
|
623
|
-
</p>
|
624
|
-
</div>
|
625
|
-
</div>
|
626
|
-
|
627
|
-
<div id="method-M000290" class="method-detail">
|
628
|
-
<a name="M000290"></a>
|
629
|
-
|
630
|
-
<div class="method-heading">
|
631
|
-
<a href="Resolver.src/M000290.html" target="Code" class="method-signature"
|
632
|
-
onclick="popupCode('Resolver.src/M000290.html');return false;">
|
633
|
-
<span class="method-name">dnssec=</span><span class="method-args">(d)</span>
|
634
|
-
</a>
|
635
|
-
</div>
|
636
|
-
|
637
|
-
<div class="method-description">
|
638
|
-
</div>
|
639
|
-
</div>
|
640
|
-
|
641
|
-
<div id="method-M000284" class="method-detail">
|
642
|
-
<a name="M000284"></a>
|
643
|
-
|
644
|
-
<div class="method-heading">
|
645
|
-
<a href="Resolver.src/M000284.html" target="Code" class="method-signature"
|
646
|
-
onclick="popupCode('Resolver.src/M000284.html');return false;">
|
647
|
-
<span class="method-name">ignore_truncation=</span><span class="method-args">(on)</span>
|
648
|
-
</a>
|
649
|
-
</div>
|
650
|
-
|
651
|
-
<div class="method-description">
|
652
|
-
</div>
|
653
|
-
</div>
|
654
|
-
|
655
|
-
<div id="method-M000279" class="method-detail">
|
656
|
-
<a name="M000279"></a>
|
657
|
-
|
658
|
-
<div class="method-heading">
|
659
|
-
<a href="Resolver.src/M000279.html" target="Code" class="method-signature"
|
660
|
-
onclick="popupCode('Resolver.src/M000279.html');return false;">
|
661
|
-
<span class="method-name">nameserver=</span><span class="method-args">(n)</span>
|
662
|
-
</a>
|
663
|
-
</div>
|
664
|
-
|
665
|
-
<div class="method-description">
|
666
|
-
</div>
|
667
|
-
</div>
|
668
|
-
|
669
|
-
<div id="method-M000280" class="method-detail">
|
670
|
-
<a name="M000280"></a>
|
671
|
-
|
672
|
-
<div class="method-heading">
|
673
|
-
<a href="Resolver.src/M000280.html" target="Code" class="method-signature"
|
674
|
-
onclick="popupCode('Resolver.src/M000280.html');return false;">
|
675
|
-
<span class="method-name">packet_timeout=</span><span class="method-args">(t)</span>
|
676
|
-
</a>
|
677
|
-
</div>
|
678
|
-
|
679
|
-
<div class="method-description">
|
680
|
-
</div>
|
681
|
-
</div>
|
682
|
-
|
683
|
-
<div id="method-M000287" class="method-detail">
|
684
|
-
<a name="M000287"></a>
|
685
|
-
|
686
|
-
<div class="method-heading">
|
687
|
-
<a href="Resolver.src/M000287.html" target="Code" class="method-signature"
|
688
|
-
onclick="popupCode('Resolver.src/M000287.html');return false;">
|
689
|
-
<span class="method-name">persistent_tcp=</span><span class="method-args">(on)</span>
|
690
|
-
</a>
|
691
|
-
</div>
|
692
|
-
|
693
|
-
<div class="method-description">
|
694
|
-
</div>
|
695
|
-
</div>
|
696
|
-
|
697
|
-
<div id="method-M000288" class="method-detail">
|
698
|
-
<a name="M000288"></a>
|
699
|
-
|
700
|
-
<div class="method-heading">
|
701
|
-
<a href="Resolver.src/M000288.html" target="Code" class="method-signature"
|
702
|
-
onclick="popupCode('Resolver.src/M000288.html');return false;">
|
703
|
-
<span class="method-name">persistent_udp=</span><span class="method-args">(on)</span>
|
704
|
-
</a>
|
705
|
-
</div>
|
706
|
-
|
707
|
-
<div class="method-description">
|
708
|
-
</div>
|
709
|
-
</div>
|
710
|
-
|
711
|
-
<div id="method-M000281" class="method-detail">
|
712
|
-
<a name="M000281"></a>
|
713
|
-
|
714
|
-
<div class="method-heading">
|
715
|
-
<a href="Resolver.src/M000281.html" target="Code" class="method-signature"
|
716
|
-
onclick="popupCode('Resolver.src/M000281.html');return false;">
|
717
|
-
<span class="method-name">port=</span><span class="method-args">(p)</span>
|
718
|
-
</a>
|
719
|
-
</div>
|
720
|
-
|
721
|
-
<div class="method-description">
|
722
|
-
</div>
|
723
|
-
</div>
|
724
|
-
|
725
|
-
<div id="method-M000271" class="method-detail">
|
726
|
-
<a name="M000271"></a>
|
727
|
-
|
728
|
-
<div class="method-heading">
|
729
|
-
<a href="Resolver.src/M000271.html" target="Code" class="method-signature"
|
730
|
-
onclick="popupCode('Resolver.src/M000271.html');return false;">
|
731
|
-
<span class="method-name">query</span><span class="method-args">(name, type=Types.A, klass=Classes.IN)</span>
|
732
|
-
</a>
|
733
|
-
</div>
|
734
|
-
|
735
|
-
<div class="method-description">
|
736
|
-
<p>
|
737
|
-
Query for a n. If a valid <a href="Message.html">Message</a> is received,
|
738
|
-
then it is returned to the caller. Otherwise an exception (a <a
|
739
|
-
href="ResolvError.html">Dnsruby::ResolvError</a> or <a
|
740
|
-
href="ResolvTimeout.html">Dnsruby::ResolvTimeout</a>) is raised.
|
741
|
-
</p>
|
742
|
-
<pre>
|
743
|
-
require 'Dnsruby'
|
744
|
-
res = Dnsruby::Resolver.new
|
745
|
-
response = res.query("example.com") # defaults to Types.A, Classes.IN
|
746
|
-
response = res.query("example.com", Types.MX)
|
747
|
-
response = res.query("208.77.188.166") # IPv4 address so PTR query will be made
|
748
|
-
response = res.query("208.77.188.166", Types.PTR)
|
749
|
-
</pre>
|
750
|
-
</div>
|
751
|
-
</div>
|
752
|
-
|
753
|
-
<div id="method-M000289" class="method-detail">
|
754
|
-
<a name="M000289"></a>
|
755
|
-
|
756
|
-
<div class="method-heading">
|
757
|
-
<a href="Resolver.src/M000289.html" target="Code" class="method-signature"
|
758
|
-
onclick="popupCode('Resolver.src/M000289.html');return false;">
|
759
|
-
<span class="method-name">recurse=</span><span class="method-args">(a)</span>
|
760
|
-
</a>
|
761
|
-
</div>
|
762
|
-
|
763
|
-
<div class="method-description">
|
764
|
-
</div>
|
765
|
-
</div>
|
766
|
-
|
767
|
-
<div id="method-M000273" class="method-detail">
|
768
|
-
<a name="M000273"></a>
|
769
|
-
|
770
|
-
<div class="method-heading">
|
771
|
-
<a href="Resolver.src/M000273.html" target="Code" class="method-signature"
|
772
|
-
onclick="popupCode('Resolver.src/M000273.html');return false;">
|
773
|
-
<span class="method-name">send_async</span><span class="method-args">(*args)</span>
|
774
|
-
</a>
|
775
|
-
</div>
|
776
|
-
|
777
|
-
<div class="method-description">
|
778
|
-
<p>
|
779
|
-
Asynchronously send a <a href="Message.html">Message</a> to the server. The
|
780
|
-
send can be done using just <a href="../Dnsruby.html">Dnsruby</a>, or using
|
781
|
-
EventMachine.
|
782
|
-
</p>
|
783
|
-
<h2><a href="../Dnsruby.html">Dnsruby</a> pure Ruby event loop :</h2>
|
784
|
-
<p>
|
785
|
-
A client_queue is supplied by the client, along with an optional
|
786
|
-
client_query_id to identify the response. The client_query_id is generated,
|
787
|
-
if not supplied, and returned to the client. When the response is known, a
|
788
|
-
tuple of (query_id, response_message, exception) will be added to the
|
789
|
-
client_queue.
|
790
|
-
</p>
|
791
|
-
<p>
|
792
|
-
The <a href="Resolver.html#M000271">query</a> is sent synchronously in the
|
793
|
-
caller‘s thread. The select thread is then used to listen for and
|
794
|
-
process the response (up to pushing it to the client_queue). The client
|
795
|
-
thread is then used to retrieve the response and deal with it.
|
796
|
-
</p>
|
797
|
-
<p>
|
798
|
-
Takes :
|
799
|
-
</p>
|
800
|
-
<ul>
|
801
|
-
<li>msg - the message to send
|
802
|
-
|
803
|
-
</li>
|
804
|
-
<li>client_queue - a Queue to push the response to, when it arrives
|
805
|
-
|
806
|
-
</li>
|
807
|
-
<li>client_query_id - an optional ID to identify the <a
|
808
|
-
href="Resolver.html#M000271">query</a> to the client
|
809
|
-
|
810
|
-
</li>
|
811
|
-
<li>use_tcp - whether to use TCP (defaults to SingleResolver.use_tcp)
|
812
|
-
|
813
|
-
</li>
|
814
|
-
</ul>
|
815
|
-
<p>
|
816
|
-
Returns :
|
817
|
-
</p>
|
818
|
-
<ul>
|
819
|
-
<li>client_query_id - to identify the <a href="Resolver.html#M000271">query</a>
|
820
|
-
response to the client. This ID is
|
821
|
-
|
822
|
-
</li>
|
823
|
-
</ul>
|
824
|
-
<p>
|
825
|
-
generated if it is not passed in by the client
|
826
|
-
</p>
|
827
|
-
<h3>Example invocations :</h3>
|
828
|
-
<pre>
|
829
|
-
id = res.send_async(msg, queue)
|
830
|
-
NOT SUPPORTED : id = res.send_async(msg, queue, use_tcp)
|
831
|
-
id = res.send_async(msg, queue, id)
|
832
|
-
id = res.send_async(msg, queue, id, use_tcp)
|
833
|
-
</pre>
|
834
|
-
<h3>Example code :</h3>
|
835
|
-
<pre>
|
836
|
-
require 'Dnsruby'
|
837
|
-
res = Dnsruby::Resolver.new
|
838
|
-
query_id = 10 # can be any object you like
|
839
|
-
query_queue = Queue.new
|
840
|
-
res.send_async(Message.new("example.com", Types.MX), query_queue, query_id)
|
841
|
-
query_id_2 = res.send_async(Message.new("example.com", Types.A), query_queue)
|
842
|
-
# ...do a load of other stuff here...
|
843
|
-
2.times do
|
844
|
-
response_id, response, exception = query_queue.pop
|
845
|
-
# You can check the ID to see which query has been answered
|
846
|
-
if (exception == nil)
|
847
|
-
# deal with good response
|
848
|
-
else
|
849
|
-
# deal with problem
|
850
|
-
end
|
851
|
-
end
|
852
|
-
</pre>
|
853
|
-
<h2>If EventMachine is being used :</h2>
|
854
|
-
<p>
|
855
|
-
If EventMachine is being used (see Dnsruby::Resolver::use_eventmachine,
|
856
|
-
then this method returns an EM::Deferrable object. When the response is
|
857
|
-
known, then the Deferrable will complete. If a queue (and ID) is passed in,
|
858
|
-
then the response will also be pushed to the Queue. Note that an ID is not
|
859
|
-
automatically generated by this version.
|
860
|
-
</p>
|
861
|
-
<h3>Example invocations :</h3>
|
862
|
-
<pre>
|
863
|
-
deferrable = res.send_async(msg)
|
864
|
-
deferrable = res.send_async(msg, use_tcp)
|
865
|
-
deferrable = res.send_async(msg, q, id, use_tcp)
|
866
|
-
</pre>
|
867
|
-
<h3>Example code</h3>
|
868
|
-
<ul>
|
869
|
-
<li>Here is an example of using the code in an EventMachine style :
|
870
|
-
|
871
|
-
<pre>
|
872
|
-
require 'Dnsruby'
|
873
|
-
require 'eventmachine'
|
874
|
-
res = Dnsruby::Resolver.new
|
875
|
-
Dnsruby::Resolver.use_eventmachine
|
876
|
-
Dnsruby::Resolver.start_eventmachine_loop(false)
|
877
|
-
EventMachine::run {
|
878
|
-
df = res.send_async(Dnsruby::Message.new("example.com"))
|
879
|
-
df.callback {|msg|
|
880
|
-
puts "Response : #{msg}"
|
881
|
-
EM.stop}
|
882
|
-
df.errback {|msg, err|
|
883
|
-
puts "Response : #{msg}"
|
884
|
-
puts "Error: #{err}"
|
885
|
-
EM.stop}
|
886
|
-
}
|
887
|
-
</pre>
|
888
|
-
</li>
|
889
|
-
<li>And an example in a normal <a href="../Dnsruby.html">Dnsruby</a> style :
|
890
|
-
|
891
|
-
<pre>
|
892
|
-
require 'Dnsruby'
|
893
|
-
res = Dnsruby::Resolver.new
|
894
|
-
Dnsruby::Resolver.use_eventmachine
|
895
|
-
Dnsruby::Resolver.start_eventmachine_loop(true) # default
|
896
|
-
q = Queue.new
|
897
|
-
id = res.send_async(Dnsruby::Message.new("example.com"),q)
|
898
|
-
id, response, error = q.pop
|
899
|
-
</pre>
|
900
|
-
</li>
|
901
|
-
</ul>
|
902
|
-
</div>
|
903
|
-
</div>
|
904
|
-
|
905
|
-
<div id="method-M000272" class="method-detail">
|
906
|
-
<a name="M000272"></a>
|
907
|
-
|
908
|
-
<div class="method-heading">
|
909
|
-
<a href="Resolver.src/M000272.html" target="Code" class="method-signature"
|
910
|
-
onclick="popupCode('Resolver.src/M000272.html');return false;">
|
911
|
-
<span class="method-name">send_message</span><span class="method-args">(message)</span>
|
912
|
-
</a>
|
913
|
-
</div>
|
914
|
-
|
915
|
-
<div class="method-description">
|
916
|
-
<p>
|
917
|
-
Send a message, and wait for the response. If a valid <a
|
918
|
-
href="Message.html">Message</a> is received, then it is returned to the
|
919
|
-
caller. Otherwise an exception (a <a
|
920
|
-
href="ResolvError.html">Dnsruby::ResolvError</a> or <a
|
921
|
-
href="ResolvTimeout.html">Dnsruby::ResolvTimeout</a>) is raised.
|
922
|
-
</p>
|
923
|
-
<p>
|
924
|
-
<a href="Resolver.html#M000273">send_async</a> is called internally.
|
925
|
-
</p>
|
926
|
-
<p>
|
927
|
-
example :
|
928
|
-
</p>
|
929
|
-
<pre>
|
930
|
-
require 'Dnsruby'
|
931
|
-
res = Dnsruby::Resolver.new
|
932
|
-
begin
|
933
|
-
response = res.send_message(Message.new("example.com", Types.MX))
|
934
|
-
rescue ResolvError
|
935
|
-
# ...
|
936
|
-
rescue ResolvTimeout
|
937
|
-
# ...
|
938
|
-
end
|
939
|
-
</pre>
|
940
|
-
</div>
|
941
|
-
</div>
|
942
|
-
|
943
|
-
<div id="method-M000277" class="method-detail">
|
944
|
-
<a name="M000277"></a>
|
945
|
-
|
946
|
-
<div class="method-heading">
|
947
|
-
<a href="Resolver.src/M000277.html" target="Code" class="method-signature"
|
948
|
-
onclick="popupCode('Resolver.src/M000277.html');return false;">
|
949
|
-
<span class="method-name">set_config_nameserver</span><span class="method-args">(n)</span>
|
950
|
-
</a>
|
951
|
-
</div>
|
952
|
-
|
953
|
-
<div class="method-description">
|
954
|
-
</div>
|
955
|
-
</div>
|
956
|
-
|
957
|
-
<div id="method-M000285" class="method-detail">
|
958
|
-
<a name="M000285"></a>
|
959
|
-
|
960
|
-
<div class="method-heading">
|
961
|
-
<a href="Resolver.src/M000285.html" target="Code" class="method-signature"
|
962
|
-
onclick="popupCode('Resolver.src/M000285.html');return false;">
|
963
|
-
<span class="method-name">src_address=</span><span class="method-args">(a)</span>
|
964
|
-
</a>
|
965
|
-
</div>
|
966
|
-
|
967
|
-
<div class="method-description">
|
968
|
-
</div>
|
969
|
-
</div>
|
970
|
-
|
971
|
-
<div id="method-M000286" class="method-detail">
|
972
|
-
<a name="M000286"></a>
|
973
|
-
|
974
|
-
<div class="method-heading">
|
975
|
-
<a href="Resolver.src/M000286.html" target="Code" class="method-signature"
|
976
|
-
onclick="popupCode('Resolver.src/M000286.html');return false;">
|
977
|
-
<span class="method-name">src_port=</span><span class="method-args">(a)</span>
|
978
|
-
</a>
|
979
|
-
</div>
|
980
|
-
|
981
|
-
<div class="method-description">
|
982
|
-
</div>
|
983
|
-
</div>
|
984
|
-
|
985
|
-
<div id="method-M000283" class="method-detail">
|
986
|
-
<a name="M000283"></a>
|
987
|
-
|
988
|
-
<div class="method-heading">
|
989
|
-
<a href="Resolver.src/M000283.html" target="Code" class="method-signature"
|
990
|
-
onclick="popupCode('Resolver.src/M000283.html');return false;">
|
991
|
-
<span class="method-name">tsig=</span><span class="method-args">(t)</span>
|
992
|
-
</a>
|
993
|
-
</div>
|
994
|
-
|
995
|
-
<div class="method-description">
|
996
|
-
<p>
|
997
|
-
Sets the TSIG to sign outgoing messages with. Pass in either a <a
|
998
|
-
href="RR/TSIG.html">Dnsruby::RR::TSIG</a>, or a key_name and key (or just a
|
999
|
-
key) Pass in nil to stop tsig signing.
|
1000
|
-
</p>
|
1001
|
-
<ul>
|
1002
|
-
<li>res.tsig=(tsig_rr)
|
1003
|
-
|
1004
|
-
</li>
|
1005
|
-
<li>res.tsig=(key_name, key)
|
1006
|
-
|
1007
|
-
</li>
|
1008
|
-
<li>res.tsig=nil # Stop the resolver from signing
|
1009
|
-
|
1010
|
-
</li>
|
1011
|
-
</ul>
|
1012
|
-
</div>
|
1013
|
-
</div>
|
1014
|
-
|
1015
|
-
<div id="method-M000291" class="method-detail">
|
1016
|
-
<a name="M000291"></a>
|
1017
|
-
|
1018
|
-
<div class="method-heading">
|
1019
|
-
<a href="Resolver.src/M000291.html" target="Code" class="method-signature"
|
1020
|
-
onclick="popupCode('Resolver.src/M000291.html');return false;">
|
1021
|
-
<span class="method-name">udp_size=</span><span class="method-args">(s)</span>
|
1022
|
-
</a>
|
1023
|
-
</div>
|
1024
|
-
|
1025
|
-
<div class="method-description">
|
1026
|
-
</div>
|
1027
|
-
</div>
|
1028
|
-
|
1029
|
-
<div id="method-M000282" class="method-detail">
|
1030
|
-
<a name="M000282"></a>
|
1031
|
-
|
1032
|
-
<div class="method-heading">
|
1033
|
-
<a href="Resolver.src/M000282.html" target="Code" class="method-signature"
|
1034
|
-
onclick="popupCode('Resolver.src/M000282.html');return false;">
|
1035
|
-
<span class="method-name">use_tcp=</span><span class="method-args">(on)</span>
|
1036
|
-
</a>
|
1037
|
-
</div>
|
1038
|
-
|
1039
|
-
<div class="method-description">
|
1040
|
-
</div>
|
1041
|
-
</div>
|
1042
|
-
|
1043
|
-
|
1044
|
-
</div>
|
1045
|
-
|
1046
|
-
|
1047
|
-
</div>
|
1048
|
-
|
1049
|
-
|
1050
|
-
<div id="validator-badges">
|
1051
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
1052
|
-
</div>
|
1053
|
-
|
1054
|
-
</body>
|
1055
|
-
</html>
|