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};