logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

AnyEvent::CacheDNS - Simple DNS resolver with caching

Author

       Emmanuel Rodriguez <potyl@cpan.org>

Description

       This module provides a very simple DNS resolver that caches its results and can improve the connection
       times to remote hosts.

Import

       It's possible to register the this class as AnyEvent's main DNS resolver by passing the tag ":register"
       in the "use" statement.

Methods

register
       Registers a new DNS cache instance as AnyEvent's global DNS resolver.

   ENVIRONMENT
       "PERL_ANYEVENT_DNS_TTL"
           The effect of setting this variable differs depending on AnyEvent version.

           AnyEvent 5.x
               Default  DNS response record cache TTL for older AnyEvent versions.  AnyEvent::DNS <= 6.x doesn't
               report record TTL and records get cached for infinite amount of time, therefore running  programs
               won't detect if cached DNS records have changed.

               NOTE: Setting this variable to 0 disables purging records from cache.

           AnyEvent 6.x
               Newer  versions  of AnyEvent report DNS record TTL so records will be purged from the cache after
               their TTL expires. Setting this variable to any  positive  integer  OVERRIDES  the  TTL  for  all
               records to the specified value, setting variable to 0 disables purging records from the cache.

Name

       AnyEvent::CacheDNS - Simple DNS resolver with caching

Synopsis

               use AnyEvent;
               use AnyEvent::HTTP;

               # Register our DNS resolver as the default resolver
               use AnyEvent::CacheDNS ':register';

               # Use AnyEvent as ususal
               my $cond = AnyEvent->condvar;
               http_get "http://search.cpan.org/", sub { $cond->send(); };
               $cond->recv();

See Also