This patch makes Danga::DNS::Resolver::Query use restricted hashes like
the other Danga classes.  I assume it will also speed things up a small
amount.

Brian



=== Resolver.pm
==================================================================
--- Resolver.pm (revision 2197)
+++ Resolver.pm (local)
@@ -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;
     

Reply via email to