| line | true | false | branch | 
 
| 34 | 0 | 1 | if @missing | 
 
| 36 | 0 | 1 | unless (ref($opts{'out'})->can('write')) | 
 
| 47 | 2 | 2 | defined $opts{$_} ? : | 
 
| 67 | 9 | 0 | if ($_msg_frame = $self->{'_parser'}->get_next_frame) | 
 
| 68 | 2 | 7 | if ($_msg_frame->is_control_frame) { } | 
 
| 72 | 0 | 7 | if ($self->{'_on_data_frame'}) | 
 
| 80 | 2 | 5 | if ($_msg_frame->get_type eq 'continuation') { } | 
 
|  | 0 | 5 | elsif (@{$self->{'_fragments'};}) { } | 
 
| 81 | 0 | 2 | unless (@{$self->{'_fragments'};}) | 
 
| 89 | 5 | 2 | if ($_msg_frame->get_fin) { } | 
 
| 101 | 4 | 0 | defined $_msg_frame ? : | 
 
| 109 | 0 | 0 | if ($ping_counter == $self->{'_max_pings'}) | 
 
| 154 | 0 | 0 | $self->{'_sent_close_frame'} ? : | 
 
| 249 | 0 | 9 | if $self->{'_closed'} | 
 
| 259 | 0 | 2 | if ($type eq 'close') { } | 
 
|  | 2 | 0 | elsif (my $handler_cr = $self->can("on_$type")) { } | 
 
| 260 | 0 | 0 | unless ($self->{'_sent_close_frame'}) | 
 
| 264 | 0 | 0 | if ($self->{'_received_close_frame'}) { } | 
 
| 271 | 0 | 0 | unless ($self->{'_no_die_on_close'}) |