File Coverage

blib/lib/PLS/Server/Request/CancelRequest.pm
Criterion Covered Total %
statement 20 20 100.0
branch 2 4 50.0
condition 1 3 33.3
subroutine 5 5 100.0
pod 0 1 0.0
total 28 33 84.8


line stmt bran cond sub pod time code
1             package PLS::Server::Request::CancelRequest;
2              
3 11     11   83 use strict;
  11         31  
  11         503  
4 11     11   79 use warnings;
  11         21  
  11         709  
5              
6 11     11   76 use parent 'PLS::Server::Request';
  11         23  
  11         68  
7              
8 11     11   1101 use Scalar::Util qw(blessed);
  11         40  
  11         3187  
9              
10             =head1 NAME
11              
12             PLS::Server::Request::CancelRequest
13              
14             =head1 DESCRIPTION
15              
16             This is a notification message from the client to the server requesting
17             that a request be cancelled.
18              
19             =cut
20              
21             sub service
22             {
23 1     1 0 12 my ($self, $server) = @_;
24              
25 1         14 my $id = $self->{params}{id};
26 1 50       24 return unless (exists $server->{running_futures}{$id});
27 1         9 my $request_to_cancel = $server->{running_futures}{$id};
28              
29 1 50 33     36 return unless (blessed($request_to_cancel) and $request_to_cancel->isa('Future'));
30 1         73 $request_to_cancel->cancel();
31              
32 1         445 delete $server->{running_futures}{$id};
33              
34 1         7 return;
35             } ## end sub service
36              
37             1;