comparison lib/Test/Nginx/HTTP3.pm @ 1926:0fb9ca9046bf

Tests: fixed variable-length encoding of QUIC Stream ID.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 14 Aug 2023 17:10:19 +0400
parents a4f1cbd87f0d
children 55e0dee863e2
comparison
equal deleted inserted replaced
1925:a4f1cbd87f0d 1926:0fb9ca9046bf
1967 my ($self, $r, %extra) = @_; 1967 my ($self, $r, %extra) = @_;
1968 my $stream = $extra{start} ? 0xe : 0xf; 1968 my $stream = $extra{start} ? 0xe : 0xf;
1969 my $length = $extra{length} ? $extra{length} : build_int(length($r)); 1969 my $length = $extra{length} ? $extra{length} : build_int(length($r));
1970 my $offset = build_int($extra{offset} ? $extra{offset} : 0); 1970 my $offset = build_int($extra{offset} ? $extra{offset} : 0);
1971 my $sid = defined $extra{sid} ? $extra{sid} : $self->{requests}++; 1971 my $sid = defined $extra{sid} ? $extra{sid} : $self->{requests}++;
1972 pack("CC", $stream, 4 * $sid) . $offset . $length . $r; 1972 $sid = build_int(4 * $sid);
1973 pack("C", $stream) . $sid . $offset . $length . $r;
1973 } 1974 }
1974 1975
1975 sub parse_int { 1976 sub parse_int {
1976 my ($buf) = @_; 1977 my ($buf) = @_;
1977 my $val = unpack("C", substr($buf, 0, 1)); 1978 my $val = unpack("C", substr($buf, 0, 1));