File Coverage

blib/lib/Net/WebSocket/Base/DataFrame.pm
Criterion Covered Total %
statement 20 25 80.0
branch 3 4 75.0
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 28 36 77.7


line stmt bran cond sub pod time code
1             package Net::WebSocket::Base::DataFrame;
2              
3 6     6   1635 use strict;
  6         11  
  6         135  
4 6     6   24 use warnings;
  6         10  
  6         135  
5              
6 6         36 use parent qw(
7             Net::WebSocket::Frame
8             Net::WebSocket::Base::Typed
9 6     6   24 );
  6         11  
10              
11 6     6   253 use constant is_control_frame => 0;
  6         10  
  6         966  
12              
13             sub _assemble_length {
14 59     59   92 my ($class, $payload_sr) = @_;
15              
16 59         71 my ($byte2, $len_len);
17              
18 59 100       156 if (length $$payload_sr < 126) {
    50          
19 57         88 $byte2 = chr(length $$payload_sr);
20 57         67 $len_len = q<>;
21             }
22             elsif (length $$payload_sr < 65536) {
23 2         5 $byte2 = "\x7e"; #126
24 2         10 $len_len = pack 'n', length $$payload_sr;
25             }
26             else {
27 0         0 $byte2 = "\x7f"; #127
28 0         0 $len_len = pack 'Q>', length $$payload_sr;
29             }
30              
31 59         214 return ($byte2, $len_len);
32             }
33              
34             sub set_fin {
35 0     0 0   my ($self) = @_;
36              
37 0           $self->_activate_highest_bit( $self->[$self->FIRST2], 0 );
38              
39 0           return $self;
40             }
41              
42             1;