File Coverage

blib/lib/Net/WebSocket/Mask.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 0 2 0.0
total 17 19 89.4


line stmt bran cond sub pod time code
1             package Net::WebSocket::Mask;
2              
3 21     21   425 use strict;
  21         38  
  21         446  
4 21     21   87 use warnings;
  21         36  
  21         2001  
5              
6             my $_loaded_rng;
7              
8             sub create {
9 54     54 0 273 return pack 'L', ( ( (rand 65536) << 16 ) | (rand 65536) );
10             }
11              
12             sub apply {
13 122     122 0 1980 my ($payload_sr, $mask) = @_;
14              
15 122         518 $mask = $mask x (int(length($$payload_sr) / 4) + 1);
16              
17 122         173 substr($mask, length($$payload_sr)) = q<>;
18              
19 122         163 $$payload_sr .= q<>;
20 122         215 $$payload_sr ^= $mask;
21              
22 122         188 return;
23             }
24              
25             1;