fix disconnect from peer
[spider.git] / perl / Msg.pm
index dcc3c812d1ac77763c3e41bd47439a17a4589885..60906c5964df83b0e547cd28628caaafefdf149c 100644 (file)
@@ -61,11 +61,12 @@ sub set_error
        $conn->{eproc} = $callback;
 }
 
-sub set_eof
+sub set_on_eof
 {
        my $conn = shift;
        my $callback = shift;
-       $conn->{sock}->on_eof(sub {$callback});
+       $conn->{sock}->on_eof($callback);
+       $conn->{sock}->on_error($callback);
 }
 
 sub set_rproc
@@ -141,7 +142,7 @@ sub connect {
 
                connect => [$to_host, $to_port],
 
-#              on_connect => sub {my $h = shift; $conn->{peerhost} = $h->handle->peername;},
+               on_connect => sub {my $h = shift; $conn->{peerhost} = shift;},
 
                on_eof => sub {$conn->disconnect},
 
@@ -466,6 +467,12 @@ sub set_event_handler
        dbg("Msg::set_event_handler called from ${pkg}::${fn} line $line doing $s");
 }
 
+sub echo
+{
+       my $conn = shift;
+       return defined $_[0] ? $conn->{echo} = $_[0] : $_[0];
+}
+
 sub DESTROY
 {
        my $conn = shift;