|
Public Member Functions |
| CHashContainer< hashClass > | SubTreeHash (uint64 nPath, uint8 levelBottom) |
| | CHashTreeNode (CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > &cTree, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > *pParent=NULL) |
| | CHashTreeNode (uint64 nLength, uint8 nLevel=0) |
| | CHashTreeNode (CFile &cFile, uint64 nPath=0, uint8 nLevel=0, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > *pParent=NULL) |
| | CHashTreeNode (uint8 *pData, uint32 nData, uint8 nLevel=0, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > *pParent=NULL) |
| | CHashTreeNode (CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > *pParent=NULL) |
| | ~CHashTreeNode (void) |
| void | Init (void) |
| | Sets a few common internal values.
|
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | operator[] (uint64 nodeID) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | FindNodePath (uint64 nPath, uint8 nLevel, bool nCreate=false) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | FindNodeNum (uint64 nodeID) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | DeleteNodePath (uint64 nPath, uint8 nLevel) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | DeleteNodeNum (uint64 nodeID) |
| uint32 | GetHashTreeList (uint64 nPath, uint8 levelTop, uint8 levelBottom, uint32 *pList) |
| uint32 | GetHashStripList (uint64 nPath, uint8 nLevel, uint16 nHashes, uint32 *pList) |
| uint32 | GetHashListList (uint16 nHashes, uint64 *pIDList, uint32 *pList) |
| uint32 | GetHashDiffList (uint16 nHashes, uint64 *pIDList, uint64 *pList, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > &cTree) |
| void | SaveTree (CFile &cFile) |
| uint8 | Verify (uint64 nPath, uint8 nLevel, uint8 nSecured) |
| uint32 | InsertTree (uint64 nPath, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > &cTree) |
| bool | Graft (uint64 nPath, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > *pTree) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | Prune (uint64 nPath, uint8 nLevel) |
| bool | Trim (uint8 nLevel) |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > & | operator= (CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth > &cTree) |
| | Subtree assignment operator.
|
Static Public Member Functions |
| uint8 | SetIOLevel (uint8 nIOLevel) |
| | Sets a new block IO level. BlockIOLevel must always be greater or equal to CSBuildup.
|
| uint8 | GetIOLevel (void) |
| | Gets the current block IO level.
|
| uint8 | SetKeepLevel (uint8 nKeep) |
| | Sets a new keep level. Done through functions in case some checking is necessary.
|
| uint8 | GetKeepLevel (void) |
| | Gets the current keep level.
|
Protected Types |
| enum | NODE_Status {
NODE_Undefined = 0x00,
NODE_Valid = 0x01,
NODE_Complete = 0x02,
NODE_OnDisk = 0x04,
NODE_Changed = 0x08,
NODE_ICHKeep = 0x10,
NODE_Singleton = 0x20,
NODE_Verified = 0x40,
NODE_Secured = 0x80,
NODE_Flags = NODE_Verified | NODE_ICHKeep | NODE_Singleton | NODE_Secured
} |
| | Enumeration of possible node states. Nothing final here. More...
|
Protected Member Functions |
| uint32 | HashBlock (uint8 *pData, uint32 nData) |
| uint32 | HashFile (CFile &cFile, uint64 nPath) |
Protected Attributes |
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | nodePtr [2] |
| | Holds the pointers to the odd and even child branches for the binary tree structure.
|
CHashTreeNode< hashClass,
CSBase, CSBuildup, CSDepth > * | nodeParent |
| | Pointer to the upper level node.
|
| uint8 | nodeLevel |
| | Stores the node level locally. An extra byte of RAM could be spared by passing this down the tree structure through every function call but it would be horribly nagging since nearly every member function needs it.
|
| uint8 | nodeFlags |
| | Stores the node's status, see NODE_Status for possible values.
|
Static Protected Attributes |
| uint8 | KeepLevel = CSBase |
| | Lowest level to make available and maintain permanently.
|
| uint8 | BlockIOLevel = CSBuildup + 1 |
| | Level at which block IOs are done.
|
Private Member Functions |
| bool | GSTHList (STHListStruc *STHListuint8, uint8 nDepth=0) |
| bool | GSTHHash (CHashContainer< hashClass > *cHash, uint8 *pData=NULL, uint32 nData=0) |
| bool | GSTHHash (uint8 *pData=NULL, uint32 nData=0) |
| | A simple override of GSTHHash() to make it work with implied 'this' cHash.
|
Static Private Attributes |
| const CString | CLASSNAME = CString("CHashTreeNode/") + StaticAlgorithmName() |
| | Defines this class' name.
|