X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FObject%2FRemote%2FRole%2FLogForwarder.pm;h=6350489cd9343a3f697465d35b150e7838630f79;hb=b1f10b7944d395e404beb995813271d857d143f7;hp=3c1ef6241c683e2cb4dc83290efef525b32f0fc0;hpb=4a9fa1a5a329754549f998536e0e68f19d42d7ab;p=scpubgit%2FObject-Remote.git diff --git a/lib/Object/Remote/Role/LogForwarder.pm b/lib/Object/Remote/Role/LogForwarder.pm index 3c1ef62..6350489 100644 --- a/lib/Object/Remote/Role/LogForwarder.pm +++ b/lib/Object/Remote/Role/LogForwarder.pm @@ -1,7 +1,10 @@ +#This is an experimental method for working with +#Log::Contextual crossing Object::Remote connections +#transparently + package Object::Remote::Role::LogForwarder; use Moo::Role; -use Object::Remote::Logging; use Scalar::Util qw(weaken); use Carp qw(cluck); @@ -16,30 +19,32 @@ has parent_router => ( is => 'rw', );#weak_ref => 1 ); sub BUILD { } after BUILD => sub { - my ($self) = @_; -# my $parent = $self->parent_router; -# return unless defined $parent ; -# $parent->add_child_router($self); + my ($self) = @_; +# my $parent = $self->parent_router; +# return unless defined $parent ; +# $parent->add_child_router($self); }; sub describe { - my ($self, $depth) = @_; - $depth = -1 unless defined $depth; - $depth++; - my $buf = "\t" x $depth . $self->description . "\n"; - foreach my $child (@{$self->child_routers}) { - next unless defined $child; - $buf .= $child->describe($depth); - } + my ($self, $depth) = @_; + $depth = -1 unless defined $depth; + $depth++; + my $buf = "\t" x $depth . $self->description . "\n"; + foreach my $child (@{$self->child_routers}) { + next unless defined $child; + $buf .= $child->describe($depth); + } - return $buf; + return $buf; } sub add_child_router { - my ($self, $router) = @_; - push(@{ $self->child_routers }, $router); + my ($self, $router) = @_; + push(@{ $self->child_routers }, $router); + #TODO re-weaken when object::remote proxied + #weak references is figured out # weaken(${ $self->child_routers }[-1]); - return; + return; } #sub remove_child_router { @@ -48,11 +53,12 @@ sub add_child_router { #} after handle_log_message => sub { - my ($self, @args) = @_; - my $parent = $self->parent_router; + my ($self, @args) = @_; + my $parent = $self->parent_router; - return unless defined $parent; - $parent->handle_log_message(@args); + return unless defined $parent; + $parent->handle_log_message(@args); }; 1; +