Inflater

Undocumented in source.

Constructors

this
this(bool initialize)
Undocumented in source.

Members

Functions

changeTableSize
void changeTableSize(size_t _settings_hd_table_bufsize_max)

Changes header table size in the |Inflater|. This may trigger eviction in the dynamic table.

commitIndexed
HeaderField commitIndexed()
Undocumented in source. Be warned that the author may not have intended to support it.
commitIndexedName
HeaderField commitIndexedName()

Finalize literal header representation - indexed name reception. If header is emitted, the HeaderField is returned

commitNewName
HeaderField commitNewName()
Undocumented in source. Be warned that the author may not have intended to support it.
emitIndexedHeader
HeaderField emitIndexedHeader(HDEntry ent)
Undocumented in source. Be warned that the author may not have intended to support it.
emitLiteralHeader
HeaderField emitLiteralHeader(HeaderField hf)
Undocumented in source. Be warned that the author may not have intended to support it.
endHeaders
void endHeaders()

Signals the end of decompression for one header block.

free
void free()
Undocumented in source. Be warned that the author may not have intended to support it.
inflate
int inflate(HeaderField hf_out, InflateFlag inflate_flags, ubyte[] input, bool is_final)

Inflates name/value block stored in |input| with length |input.length|. This function performs decompression. For each successful emission of header field, InflateFlag.EMIT is set in |inflate_flags| and a header field is assigned to |hf_out| and the function returns. The caller must not free the members of |hf_out|.

read
int read(Buffers bufs, ubyte* input, ubyte* last)
Undocumented in source. Be warned that the author may not have intended to support it.
readHuffman
int readHuffman(Buffers bufs, ubyte* input, ubyte* last)
Undocumented in source. Be warned that the author may not have intended to support it.
readLength
int readLength(bool is_final, ubyte* input, ubyte* last, size_t prefix, size_t maxlen)
Undocumented in source. Be warned that the author may not have intended to support it.
removeBufs
HeaderField removeBufs(bool value_only)
Undocumented in source. Be warned that the author may not have intended to support it.
setHuffmanEncoded
void setHuffmanEncoded(ubyte* input)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

ctx
HDTable ctx;
Undocumented in source.
ent_keep
HDEntry ent_keep;

Pointer to the entry which is used current header emission, for reference counting purposes.

hfbufs
Buffers hfbufs;

header buffer

huff_decoder
Decoder huff_decoder;

Stores current state of huffman decoding

huffman_encoded
bool huffman_encoded;

true if string is huffman encoded

index
size_t index;

The index in indexed repr or indexed name

index_required
bool index_required;

true if deflater requires that current entry is indexed

left
size_t left;

The number of bytes to read

newnamelen
size_t newnamelen;

The length of new name encoded in literal. For huffman encoded string, this is the length after it is decoded.

no_index
bool no_index;

true if deflater requires that current entry must not be indexed

opcode
OpCode opcode;
Undocumented in source.
settings_hd_table_bufsize_max
size_t settings_hd_table_bufsize_max;

The maximum header table size the inflater supports. This is the same value transmitted in SettingsID.HEADER_TABLE_SIZE

shift
size_t shift;

The number of next shift to decode integer

state
InflateState state;
Undocumented in source.

Meta