X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote%2FRole%2FConnector.pm;h=8ad06c239da6e95cea54f0b6cae75e16c1651c30;hp=d3b43c56690886fb2086ca5ee5bfcb8e1bad6870;hb=55c0d0209fa9d9265ff178f54ae9fe5fdddef3c1;hpb=b7a853b30e7397854a813f6a5878e50703a20079 diff --git a/lib/Object/Remote/Role/Connector.pm b/lib/Object/Remote/Role/Connector.pm index d3b43c5..8ad06c2 100644 --- a/lib/Object/Remote/Role/Connector.pm +++ b/lib/Object/Remote/Role/Connector.pm @@ -2,12 +2,14 @@ package Object::Remote::Role::Connector; use Module::Runtime qw(use_module); use Object::Remote::Future; -use Object::Remote::Logging qw(:log :dlog ); +use Object::Remote::Logging qw(:log :dlog router); use Moo::Role; requires '_open2_for'; -has timeout => (is => 'ro', default => sub { { after => 10 } }); +has timeout => (is => 'ro', default => sub { 10 }); + +BEGIN { router()->exclude_forwarding; } sub connect { my $self = shift; @@ -43,18 +45,18 @@ sub connect { log_trace { "initialized events on channel for child pid '$child_pid'; creating timeout" }; Object::Remote->current_loop ->watch_time( - %{$self->timeout}, + after => $self->timeout, code => sub { - Dlog_trace { "Connection timeout timer has fired for child pid '$child_pid'; is_ready: $_" } $f->is_ready; + Dlog_trace {"Connection timeout timer has fired for child pid '$child_pid'; is_ready: $_" } $f->is_ready; unless($f->is_ready) { log_warn { "Connection with child pid '$child_pid' has timed out" }; - $f->fail("Connection timed out") unless $f->is_ready; + $f->fail("Connection timed out") unless $f->is_ready; } undef($channel); - + } ); - log_trace { "connection for child pid '$child_pid' has been initialized" }; + log_trace { "connection for child pid '$child_pid' has been initialized" }; $f; } }