如何默认配置AnyEvent :: DNS解析器?

时间:2017-04-17 19:38:41

标签: perl asynchronous dns anyevent

默认情况下如何配置AnyEvent::DNS解析器,我想更改max_outstandingreusetimeout。 有一个环境变量$ENV{PERL_ANYEVENT_MAX_OUTSTANDING_DNS},但如何更改reusetimeout

1 个答案:

答案 0 :(得分:3)

$ENV{PERL_ANYEVENT_MAX_OUTSTANDING_DNS}仅在使用默认解析程序时使用,因此您必须使用默认解析程序,因此您只需更改默认解析程序。

use AnyEvent::DNS qw( );

my $resolver = AnyEvent::DNS->new(
   untaint         => 1,
   max_outstanding => $ENV{PERL_ANYEVENT_MAX_OUTSTANDING_DNS}*1 || ...,
   reuse           => ...,
   timeout         => ...,
);

$ENV{PERL_ANYEVENT_RESOLV_CONF}
   ? $resolver->_load_resolv_conf_file($ENV{PERL_ANYEVENT_RESOLV_CONF})
   : $resolver->os_config;

$AnyEvent::DNS::RESOLVER = $resolver;