X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FTak%2FClient.pm;h=a86ad4dca06376c784864d30c598835a42fee8cc;hb=542ab4162ceb2ed5deadae8e8440af2046e45674;hp=949e9af144c4c61f6feb3c18eb927ca87a06fe3c;hpb=77bf1d9b5b6832894676ab549ee5664cb7200d33;p=scpubgit%2FTak.git diff --git a/lib/Tak/Client.pm b/lib/Tak/Client.pm index 949e9af..a86ad4d 100644 --- a/lib/Tak/Client.pm +++ b/lib/Tak/Client.pm @@ -13,7 +13,9 @@ sub curry { (ref $self)->new(%$self, curried => [ @{$self->curried}, @curry ]); } -sub send { +sub send { shift->receive(@_) } + +sub receive { my ($self, @message) = @_; $self->service->receive(@{$self->curried}, @message); } @@ -21,10 +23,15 @@ sub send { sub start { my ($self, $register, @payload) = @_; my $req = $self->_new_request($register); - $self->service->start_request($req, @{$self->curried}, @payload); + $self->start_request($req, @payload); return $req; } +sub start_request { + my ($self, $req, @payload) = @_; + $self->service->start_request($req, @{$self->curried}, @payload); +} + sub request_class { 'Tak::Request' } sub _new_request { @@ -47,4 +54,12 @@ sub result_of { return $result; } +sub clone_or_self { + my ($self) = @_; + (ref $self)->new( + service => $self->service->clone_or_self, + curried => [ @{$self->curried} ], + ); +} + 1;