has service => (is => 'ro', required => 1);
+has on_close => (is => 'ro', required => 1);
+
sub BUILD {
weaken(my $self = shift);
my $channel = $self->channel;
sub receive_result {
my ($self, $tag, @payload) = @_;
- $self->requests->{$tag}->result(@payload);
+ (delete $self->requests->{$tag})->result(@payload);
}
sub receive_message {
$self->service->receive(@payload);
}
+sub receive_close {
+ my ($self, @payload) = @_;
+ $self->on_close->(@payload);
+}
+
1;