File Coverage

blib/lib/ZMQ/FFI/ContextBase.pm
Criterion Covered Total %
statement 9 16 56.2
branch 0 2 0.0
condition n/a
subroutine 3 8 37.5
pod 0 5 0.0
total 12 31 38.7


line stmt bran cond sub pod time code
1             package ZMQ::FFI::ContextBase;
2             $ZMQ::FFI::ContextBase::VERSION = '0.16';
3 1     1   687 use Moo;
  1         2  
  1         7  
4 1     1   366 use namespace::autoclean;
  1         2  
  1         10  
5              
6 1     1   81 use Carp;
  1         3  
  1         304  
7              
8             with qw(
9             ZMQ::FFI::ContextRole
10             ZMQ::FFI::ErrorHandler
11             ZMQ::FFI::Versioner
12             );
13              
14             # real underlying zmq ctx pointer
15             has _ctx => (
16             is => 'rw',
17             default => -1,
18             );
19              
20             sub get {
21 0     0 0   croak 'unimplemented in base class';
22             }
23              
24             sub set {
25 0     0 0   croak 'unimplemented in base class';
26             }
27              
28             sub socket {
29 0     0 0   croak 'unimplemented in base class';
30             }
31              
32             sub destroy {
33 0     0 0   croak 'unimplemented in base class';
34             }
35              
36             sub DEMOLISH {
37 0     0 0   my $self = shift;
38              
39 0 0         unless ($self->_ctx == -1) {
40 0           $self->destroy();
41             }
42             }
43              
44             __PACKAGE__->meta->make_immutable();
45              
46             __END__