1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
ULib/tests/ulib/http2/rfc7541_2_3_2
stefanocasazza 329b3fbd64 sync
2016-12-22 15:54:12 +01:00

66 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
#
# Written by Dridi Boukelmoune <dridi.boukelmoune@gmail.com>
#
# This file is in the public domain.
#
# 2.3.2. Dynamic Table
#
# The dynamic table consists of a list of header fields maintained in
# first-in, first-out order. The first and newest entry in a dynamic
# table is at the lowest index, and the oldest entry of a dynamic table
# is at the highest index.
#
# The dynamic table is initially empty. Entries are added as each
# header block is decompressed.
#
# The dynamic table can contain duplicate entries (i.e., entries with
# the same name and same value). Therefore, duplicate entries MUST NOT
# be treated as an error by a decoder.
#
# The encoder decides how to update the dynamic table and as such can
# control how much memory is used by the dynamic table. To limit the
# memory requirements of the decoder, the dynamic table size is
# strictly bounded (see Section 4.2).
#
# The decoder updates the dynamic table during the processing of a list
# of header field representations (see Section 3.2).
. "$(dirname "$0")"/common.sh
_ --------------------------------------
_ Duplicate entries in the dynamic table
_ --------------------------------------
mk_hex <<EOF
# dynamic field "name: value"
4004 6e61 6d65 0576 616c 7565 | @.name.value
# dynamic field "name: value" (again)
4004 6e61 6d65 0576 616c 7565 | @.name.value
EOF
mk_msg <<EOF
# first message
name: value
# same message
name: value
EOF
mk_tbl <<EOF
[ 1] (s = 41) name: value
[ 2] (s = 41) name: value
Table size: 82
EOF
mk_enc <<EOF
dynamic str name str value
send
dynamic str name str value
EOF
tst_decode
tst_encode