File Coverage

blib/lib/Protocol/SPDY/Frame/Control/WINDOW_UPDATE.pm
Criterion Covered Total %
statement 12 26 46.1
branch n/a
condition n/a
subroutine 4 10 40.0
pod 6 6 100.0
total 22 42 52.3


line stmt bran cond sub pod time code
1             package Protocol::SPDY::Frame::Control::WINDOW_UPDATE;
2             {
3             $Protocol::SPDY::Frame::Control::WINDOW_UPDATE::VERSION = '0.999_007';
4             }
5 3     3   12 use strict;
  3         4  
  3         77  
6 3     3   10 use warnings;
  3         4  
  3         82  
7 3     3   9 use parent qw(Protocol::SPDY::Frame::Control);
  3         1  
  3         11  
8              
9             =head1 NAME
10              
11             Protocol::SPDY::Frame::Control::SynStream - stream creation request packet for SPDY protocol
12              
13             =head1 VERSION
14              
15             version 0.999_007
16              
17             =head1 SYNOPSIS
18              
19             =head1 DESCRIPTION
20              
21             See L and L.
22              
23             =cut
24              
25 3     3   149 use Protocol::SPDY::Constants ':all';
  3         3  
  3         833  
26              
27             =head2 type_name
28              
29             The string type for this frame ('WINDOW_UPDATE').
30              
31             =cut
32              
33 0     0 1   sub type_name { 'WINDOW_UPDATE' }
34              
35             =head2 from_data
36              
37             Instantiate from the given data.
38              
39             =cut
40              
41             sub from_data {
42 0     0 1   my $class = shift;
43 0           my %args = @_;
44 0           my ($stream_id, $window_delta) = unpack "N1N1", substr $args{data}, 0, 8, '';
45 0           $stream_id &= ~0x80000000;
46 0           $window_delta &= ~0x80000000;
47              
48 0           $class->new(
49             %args,
50             stream_id => $stream_id,
51             window_delta => $window_delta,
52             );
53             }
54              
55             =head2 stream_id
56              
57             Which stream we're updating the window for.
58              
59             =cut
60              
61 0     0 1   sub stream_id { shift->{stream_id} }
62              
63             =head2 window_delta
64              
65             Change in window size (always positive).
66              
67             =cut
68              
69 0     0 1   sub window_delta { shift->{window_delta} }
70              
71             =head2 as_packet
72              
73             Returns byte representation for this frame.
74              
75             =cut
76              
77             sub as_packet {
78 0     0 1   my $self = shift;
79 0           my $payload = pack 'N1N1', $self->stream_id & ~0x80000000, $self->window_delta & ~0x80000000;
80 0           return $self->SUPER::as_packet(
81             payload => $payload,
82             );
83             }
84              
85             =head2 to_string
86              
87             String representation, for debugging.
88              
89             =cut
90              
91             sub to_string {
92 0     0 1   my $self = shift;
93 0           $self->SUPER::to_string . ', stream ' . $self->stream_id . ', delta ' . $self->window_delta;
94             }
95              
96             1;
97              
98             __END__