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   2133 use strict;
  6         17  
  6         176  
4 6     6   39 use warnings;
  6         15  
  6         189  
5              
6 6         45 use parent qw(
7             Net::WebSocket::Frame
8             Net::WebSocket::Base::Typed
9 6     6   37 );
  6         15  
10              
11 6     6   346 use constant is_control_frame => 0;
  6         17  
  6         1392  
12              
13             sub _assemble_length {
14 59     59   158 my ($class, $payload_sr) = @_;
15              
16 59         122 my ($byte2, $len_len);
17              
18 59 100       173 if (length $$payload_sr < 126) {
    50          
19 57         150 $byte2 = chr(length $$payload_sr);
20 57         117 $len_len = q<>;
21             }
22             elsif (length $$payload_sr < 65536) {
23 2         4 $byte2 = "\x7e"; #126
24 2         15 $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         252 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;