class HashListBase
Defined at line 20 of file ../../src/lib/digest/hash-list.h
|digest::internal::HashListBase| contains common hash list code. Callers MUST NOT use this class
directly. See |digest::HashListCreator| and |digest::HashListVerifier| below.
Public Methods
void HashListBase ()
Defined at line 22 of file ../../src/lib/digest/hash-list.h
void ~HashListBase ()
Defined at line 23 of file ../../src/lib/digest/hash-list.h
void HashListBase (const HashListBase & )
Defined at line 24 of file ../../src/lib/digest/hash-list.h
void HashListBase (HashListBase && )
Defined at line 24 of file ../../src/lib/digest/hash-list.h
HashListBase & operator= (const HashListBase & )
Defined at line 24 of file ../../src/lib/digest/hash-list.h
HashListBase & operator= (HashListBase && )
Defined at line 24 of file ../../src/lib/digest/hash-list.h
zx_status_t Align (size_t * data_off, size_t * buf_len)
HashListBase
<T
>
Defined at line 24 of file ../../src/lib/digest/hash-list.cc
size_t data_off ()
Defined at line 26 of file ../../src/lib/digest/hash-list.h
size_t data_len ()
Defined at line 27 of file ../../src/lib/digest/hash-list.h
size_t list_off ()
Defined at line 28 of file ../../src/lib/digest/hash-list.h
size_t list_len ()
Defined at line 29 of file ../../src/lib/digest/hash-list.h
uint64_t GetNodeId ()
Gets or sets relevant NodeDigest fields.
Defined at line 32 of file ../../src/lib/digest/hash-list.h
size_t GetNodeSize ()
Defined at line 33 of file ../../src/lib/digest/hash-list.h
size_t GetDigestSize ()
Defined at line 34 of file ../../src/lib/digest/hash-list.h
zx_status_t SetDataLength (size_t data_len)
Sets the length of data this hash list will represent. The maxium possible size is
|SIZE_MAX - NodeSize + 1|, i.e. the maximum node-aligned value of type |size_t|.
Defined at line 34 of file ../../src/lib/digest/hash-list.cc
void SetNodeId (uint64_t id)
Defined at line 35 of file ../../src/lib/digest/hash-list.h
zx_status_t SetNodeSize (size_t node_size)
Defined at line 36 of file ../../src/lib/digest/hash-list.h
bool IsAligned (size_t data_off)
Returns true if |data_off| is aligned to a node boundary.
Defined at line 39 of file ../../src/lib/digest/hash-list.h
size_t GetListOffset (size_t data_off)
Returns the corresponding offset in the hash list for an offset in the data. This method
does not check if |data_off| is within bounds.
Defined at line 48 of file ../../src/lib/digest/hash-list.cc
void SetPadDataToNodeSize (bool pad_data_to_node_size)
Sets whether the hash list should pad the length of the data it's given up to the next multiple
of the node size.
Defined at line 51 of file ../../src/lib/digest/hash-list.h
size_t GetListLength ()
Returns the minimum size needed to hold a hash list for the given |data_len|. Note that this
differs from |list_len()| in that it returns what's needed, whereas the latter returns what
the list length currently is.
Defined at line 52 of file ../../src/lib/digest/hash-list.cc
Protected Methods
bool IsValidRange (size_t data_off, size_t buf_len)
Checks range given by |data_off| and |buf_len| is valid.
Defined at line 56 of file ../../src/lib/digest/hash-list.cc
zx_status_t ProcessData (const uint8_t * buf, size_t buf_len, size_t data_off)
Handle the |buf_len| bytes from |buf|, corresponding to the data sequence starting at
|data_off|.
Defined at line 61 of file ../../src/lib/digest/hash-list.cc
void set_list_len (size_t list_len)
Defined at line 65 of file ../../src/lib/digest/hash-list.h
void HandleOne (const Digest & digest)
Defined at line 78 of file ../../src/lib/digest/hash-list.h
void HandleOne ()
Process the next digest in the hash list, e.g. write a digest when creating, or compare when
verifying. The no-argument version simply invokes the second version with the current digest.
The second version is implemented in derived classes.
Defined at line 93 of file ../../src/lib/digest/hash-list.cc