|author||Amin Hassani <email@example.com>||Mon Oct 09 23:06:47 2017|
|committer||chrome-bot <firstname.lastname@example.org>||Thu Oct 26 04:59:07 2017|
puffin: Add ExtentStream We need some sort of extent stream for the update payload tests in update_engine. These scripts are run as a part of canary builds. This CL adds a new class ExtentStream that is only used in main.cc for applying patches. This class should not be shipped to the client devices as part of puffpatch nor it needs to be in puffdiff. BUG=chromium:768461 TEST=unittest pass; Change-Id: Ic482be8e9b6b7e7f12f5f796de1d96d57275097b Reviewed-on: https://chromium-review.googlesource.com/714453 Commit-Ready: Amin Hassani <email@example.com> Tested-by: Amin Hassani <firstname.lastname@example.org> Reviewed-by: Ben Chan <email@example.com> Reviewed-by: Sen Jiang <firstname.lastname@example.org>
Source code for Puffin: A utility for deterministic DEFLATE recompression.
TODO(ahassani): Describe the directory structure and how-tos.
Alphabet A value that occurs in the input stream. It can be either a literal:[0..255], and end of block sign , a length[257..285], or a distance [0..29].
Huffman code A variable length code representing the Huffman encoded of an alphabet. Huffman codes can be created uniquely using Huffman code length array.
Huffman code array An array which an array index identifies a Huffman code and the array element in that index represents the corresponding alphabet. Throughout the code, Huffman code arrays are identified by vectors with postfix
Huffman reverse code array An array which an array index identifies an alphabet and the array element in that index contains the Huffman code of the alphabet. Throughout the code, The Huffman reverse code arrays are identified by vectors with postfix
Huffman code length The number of bits in a Huffman code.
Huffman code length array An array of Huffman code lengths with the array index as the alphabet. Throughout the code, Huffman code length arrays are identified by vectors with postfix