AnyEvent-DNS-Nameserver
view release on metacpan or search on metacpan
lib/AnyEvent/DNS/Nameserver.pm view on Meta::CPAN
$self->{Verbose} = $p{Verbose} || 0;
$self->{Truncate} = $p{Truncate} || 1;
$self->{IdleTimeout} = $p{IdleTimeout} || 120;
$self->{NotifyHandler} = $p{NotifyHandler};
$self->{watchers} = [];
my @LocalAddr =ref $self->{LocalAddr} eq 'ARRAY'?@{$self->{LocalAddr}}:($self->{LocalAddr});
for my $la (@LocalAddr){
my $hdl;$hdl = AnyEvent::Handle::UDP->new(
bind => [$la,$self->{LocalPort}],
on_recv => sub {
my ($data, $ae_handle, $client_addr) = @_;
my $family = sockaddr_family($client_addr);
my ($peerport, $peerhost) = ( $family == AF_INET6 ) ? sockaddr_in6($client_addr) : sockaddr_in($client_addr);
$peerhost = inet_ntop($family, $peerhost);
my $query = new Net::DNS::Packet( \$data );
if ( my $err = $@ ) {
print "Error decoding query packet: $err\n" if $self->{Verbose};
undef $query;
}
( run in 1.024 second using v1.01-cache-2.11-cpan-2398b32b56e )