X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FTak%2FRouter.pm;h=0aa20609085bc49cf5bb0420f98966adfc2ca02f;hb=e56859c36c8014f003db08d55f702101b98026d0;hp=5c2502b7eb017cb8881706da2ff545e314b36d5c;hpb=2791fd73b196072f047b2b3d746b64be53312ca3;p=scpubgit%2FTak.git diff --git a/lib/Tak/Router.pm b/lib/Tak/Router.pm index 5c2502b..0aa2060 100644 --- a/lib/Tak/Router.pm +++ b/lib/Tak/Router.pm @@ -2,6 +2,7 @@ package Tak::Router; use Tak::MetaService; use Scalar::Util qw(weaken); +use Log::Contextual qw(:log); use Moo; has services => (is => 'ro', default => sub { {} }); @@ -23,7 +24,9 @@ sub start_request { sub receive { my ($self, $target, @payload) = @_; return unless $target; - return unless my $next = $self->services->{$target}; + log_debug { "Message received for ${target}" }; + return log_info { "Discarded message to ${target}" } + unless my $next = $self->services->{$target}; $next->receive(@payload); } @@ -42,4 +45,9 @@ sub deregister { delete $self->services->{$name} } +sub clone_or_self { + my ($self) = @_; + (ref $self)->new(services => { %{$self->services} }); +} + 1;