X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FObject%2FRemote%2FNode.pm;h=a3f88a5094d431002cff563b077121499ccd1891;hb=daa3054c043a622b2dd27f3176436e802bcd910c;hp=7363f5e885e1330f0eb78136644cd6adebe78ea0;hpb=cd295a4072763ba5bd4a28919b7bbb04d55c16f2;p=scpubgit%2FObject-Remote.git diff --git a/lib/Object/Remote/Node.pm b/lib/Object/Remote/Node.pm index 7363f5e..a3f88a5 100644 --- a/lib/Object/Remote/Node.pm +++ b/lib/Object/Remote/Node.pm @@ -5,21 +5,20 @@ use Object::Remote::Connector::STDIO; use Object::Remote::Logging qw(:log :dlog); use Object::Remote::WatchDog; use Object::Remote; -use CPS::Future; sub run { - my ($class, %args) = @_; + my ($class, %args) = @_; log_trace { "run() has been invoked on remote node" }; - + my $c = Object::Remote::Connector::STDIO->new->connect; - + $c->register_class_call_handler; my $loop = Object::Remote->current_loop; - - $c->on_close->on_ready(sub { + + $c->on_close->on_ready(sub { log_debug { "Node connection with call handler has closed" }; - $loop->want_stop + $loop->want_stop }); Dlog_trace { "Node is sending 'Shere' to $_" } $c->send_to_fh; @@ -28,10 +27,10 @@ sub run { log_debug { "Node is going to start the run loop" }; #TODO the alarm should be reset after the run loop starts #at a minimum - the remote side node should probably send - #a command that clears the alarm in all instances - even - #if the Object::Remote::Watchdog is not being used + #a command that clears the alarm in all instances - even + #if the Object::Remote::Watchdog is not being used if ($args{watchdog_timeout}) { - Object::Remote::WatchDog->new(timeout => $args{watchdog_timeout}); + Object::Remote::WatchDog->instance(timeout => $args{watchdog_timeout}); } else { #reset connection watchdog from the fatnode alarm(0);