Author: msergeant Date: Tue Jun 20 07:39:52 2006 New Revision: 644 Modified: trunk/lib/Danga/DNS/Resolver.pm
Log: fields patch from Brian Grossman Modified: trunk/lib/Danga/DNS/Resolver.pm ============================================================================== --- trunk/lib/Danga/DNS/Resolver.pm (original) +++ trunk/lib/Danga/DNS/Resolver.pm Tue Jun 20 07:39:52 2006 @@ -273,6 +273,8 @@ package Danga::DNS::Resolver::Query; +use fields qw( resolver asker host type timeout id data repeat ns nqueries ); + use constant MAX_QUERIES => 10; sub trace { @@ -281,24 +283,14 @@ } sub new { - my ($class, $res, $asker, $host, $type, $now, $id, $data) = @_; + my Danga::DNS::Resolver::Query $self = shift; + $self = fields::new($self) unless ref $self; - my $self = { - resolver => $res, - asker => $asker, - host => $host, - type => $type, - timeout => $now, - id => $id, - data => $data, - repeat => 2, # number of retries - ns => 0, - nqueries => 0, - }; + @$self{qw( resolver asker host type timeout id data )} = @_; + # repeat is number of retries + @$self{qw( repeat ns nqueries )} = (2,0,0); - trace(2, "NS Query: $host ($id)\n"); - - bless $self, $class; + trace(2, "NS Query: $self->{host} ($self->{id})\n"); $self->send_query || return;