In-memory trie operations (#1408)
* small cleanups in trie * Memory trie skeleton * decode nodes from RLP * memorytrie -> memorytriedb * implement Trie for MemoryTrie * partially implement insert * implement trie insertion * don't load whole trie into memory, lookup across memory and db * re-implement insertion and lazily load necessary nodes from DB * node removal w/o fixing * reduce churn in node storage * finish remove implementation * committing the in-memory trie * reload root node after commit * generate elastic arrays when converting nodes to rlp * port triedbmut tests over to memorytriedb, fix a few bugs. * hash count and dirty flag * initial attempt for node inspection * back to skeleton * inspection framework * implement insertion * no panic paths in insert * implement deletion without fixing * node fixing * commit nodes to db * tracing targets and bugfix * get tests to pass with a lot of tracing * set playpen iterations to 10 * remove some tracing statements * make TrieMut::root take &mut self * replace triedbmut with memorytriedb * treat empty insert value as removal * add test for null insert * fix some style concerns * trie: use nodehandle for root_node, minor cleanup
parent
598833d1
Please register or sign in to comment