Author: alexlehm
Date: 2008-03-23 16:20:38 +0000 (Sun, 23 Mar 2008)
New Revision: 18730

Modified:
   trunk/apps/perlFreenet/Freenet/Connection.pm
   trunk/apps/perlFreenet/Freenet/Message.pm
Log:
Connection.pm:
handle connection errors a bit better
Message.pm:
handle header requests with keys containing "."


Modified: trunk/apps/perlFreenet/Freenet/Connection.pm
===================================================================
--- trunk/apps/perlFreenet/Freenet/Connection.pm        2008-03-23 14:23:15 UTC 
(rev 18729)
+++ trunk/apps/perlFreenet/Freenet/Connection.pm        2008-03-23 16:20:38 UTC 
(rev 18730)
@@ -69,7 +69,8 @@
        $socket=IO::Socket::INET->new(PeerAddr => $self->{node});

        if(!$socket) {
-               # failed for some reason TODO: should wrap this is a proper 
error?
+               # failed for some reason
+               # TODO: should wrap this is a proper error?
                return undef;
        }

@@ -95,10 +96,17 @@
   return $response;
 }

+sub is_connected
+{
+  return defined($_[0]->{socket});
+}
+
 sub getmessage
 {
   my $self=shift;

+  return undef if !$self->is_connected();
+
   my $socket=$self->{socket};

   my $message;
@@ -166,6 +174,8 @@
   }
   my $sock=$self->{socket};

+  return undef if !$self->is_connected();
+
   if(!ref($msg) eq "Freenet::Message") {
     warn "wrong argument type\n";
   }
@@ -222,6 +232,8 @@
   my $self=shift;
   my $ret;

+  return undef if !$self->is_connected();
+
   $ret=close($self->{socket});
   $self->{socket}=undef;


Modified: trunk/apps/perlFreenet/Freenet/Message.pm
===================================================================
--- trunk/apps/perlFreenet/Freenet/Message.pm   2008-03-23 14:23:15 UTC (rev 
18729)
+++ trunk/apps/perlFreenet/Freenet/Message.pm   2008-03-23 16:20:38 UTC (rev 
18730)
@@ -14,8 +14,8 @@

     $self->{data}=undef;
     $self->{message}=shift;
-    # if we don't have header field, you can just leave them out
-    # e.g. ->new("ShutDown");
+    # if there are no header fields, you can just leave them out
+    # e.g. ->new("Shutdown");
     $self->{header}=shift || {};
 }

@@ -44,6 +44,11 @@
                        @keys=@_;
                } else {
                        my $key=shift;
+                       if($key=~/\./) {
+                               if(defined($self->{header}->{$key})) {
+                                       return $self->{header}->{$key}
+                               }
+                       }
                        @keys=split(/\./,$key);
                }
                my $ref=$self->{header};


Reply via email to