summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-06-17 21:20:16 +0200
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-06-17 21:20:16 +0200
commit579587915bd2e1f174ed859c579612a501da41b6 (patch)
tree09799701e2a50f5889ed3091f578ba16dab78470
parenta2b50c9e2fd33a857c85356ad0647c06605e3dd4 (diff)
downloadsrs-579587915bd2e1f174ed859c579612a501da41b6.tar.gz
srs-579587915bd2e1f174ed859c579612a501da41b6.tar.bz2
srs-579587915bd2e1f174ed859c579612a501da41b6.zip
Log communication with Net::Server->log
-rw-r--r--Spline/Socketmap.pm26
1 files changed, 16 insertions, 10 deletions
diff --git a/Spline/Socketmap.pm b/Spline/Socketmap.pm
index 20c8078..d677166 100644
--- a/Spline/Socketmap.pm
+++ b/Spline/Socketmap.pm
@@ -18,16 +18,17 @@ sub call_handler($@) {
return &$handler(@_);
}
-sub handle_request($) {
- my $data = shift;
+sub handle_request($$) {
+ my $self = shift;
+ my ($data) = @_;
my ($map, $key) = split(/ /, $data, 2);
my $result = call_handler($map, $key);
if (defined $result) {
- reply($result);
+ $self->reply($result);
}
else {
- reply('TEMP Protocol error');
+ $self->reply('TEMP Protocol error');
}
}
@@ -64,14 +65,14 @@ sub netstring_write($$) {
print $fd length($data).':'.$data.',';
}
-sub process_request {
+sub process_request($) {
my $self = shift;
eval {
local $SIG{'ALRM'} = sub { die "Timed Out!\n" };
alarm($timeout);
- handle_request(netstring_read(*STDIN));
+ $self->handle_request(netstring_read(*STDIN));
alarm(0);
};
my $err = $@;
@@ -80,16 +81,21 @@ sub process_request {
if ($err) {
if ($err =~ /timed out/i) {
- reply('TEMP Timeout');
+ $self->reply('TEMP Timeout');
}
else {
- reply('TEMP Unknown error');
+ chomp $err;
+ $self->reply("TEMP $err");
}
}
}
-sub reply($) {
- netstring_write(*STDOUT, @_);
+sub reply($$) {
+ my $self = shift;
+ my ($data) = @_;
+
+ $self->log(2, $data);
+ netstring_write(*STDOUT, $data);
}
1;