openethereum/util/src
Robert Habermeier 517c705ab5 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
2016-07-14 18:06:46 +02:00
..
io Miner tests (#1597) 2016-07-14 12:16:53 +02:00
journaldb replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
migration have AccountDB use address hash for uniqueness (#1533) 2016-07-11 09:46:33 +02:00
network Make sure reserved peers are in the node table (#1616) 2016-07-14 10:38:53 +02:00
rlp serde is no longer util dependency (#1534) 2016-07-06 11:23:29 +02:00
trie In-memory trie operations (#1408) 2016-07-14 18:06:46 +02:00
bytes.rs expunge &Vec<T> pattern (#1579) 2016-07-12 10:28:35 +02:00
common.rs VM tracing and JSON RPC endpoint for it. (#1169) 2016-06-02 12:40:31 +02:00
crypto.rs remove all possible unsafe code in crypto (#1168) 2016-05-28 21:48:42 +02:00
error.rs merge accountdb migration 2016-07-09 17:33:14 +02:00
from_json.rs uint to separated crate 2016-03-01 00:21:15 +03:00
hash.rs Some obvious evm & uint optimizations (#1576) 2016-07-10 20:18:23 +02:00
hashdb.rs Merge with master 2016-06-29 14:46:29 +02:00
heapsizeof.rs uint to separated crate 2016-03-01 00:21:15 +03:00
kvdb.rs wiping also for non-prefixed db 2016-07-13 19:51:03 +02:00
lib.rs replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
log.rs replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
math.rs added license in every *.rs file 2016-02-05 13:40:41 +01:00
memorydb.rs serde is no longer util dependency (#1534) 2016-07-06 11:23:29 +02:00
misc.rs replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
network_settings.rs Fixing status page displaying homestead (#1020) 2016-04-30 18:58:28 +01:00
nibbleslice.rs Fixing clippy warnings. Implementing PartialEq for Uints 2016-02-23 11:40:23 +01:00
nibblevec.rs Fixing clippy warnings (#1568) 2016-07-10 13:18:33 +02:00
numbers.rs uint to separated crate 2016-03-01 00:21:15 +03:00
overlaydb.rs serde is no longer util dependency (#1534) 2016-07-06 11:23:29 +02:00
panics.rs replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
path.rs Merge with master 2016-06-29 14:46:29 +02:00
semantic_version.rs doc typo 2016-02-17 03:17:02 +03:00
sha3.rs serde is no longer util dependency (#1534) 2016-07-06 11:23:29 +02:00
snappy.rs use ZST error type for snappy, use new snappy compression methods 2016-06-16 15:35:49 +02:00
standard.rs replace synchronization primitives with those from parking_lot (#1593) 2016-07-13 19:59:59 +02:00
timer.rs Merge with master 2016-06-29 14:46:29 +02:00
triehash.rs expunge &Vec<T> pattern (#1579) 2016-07-12 10:28:35 +02:00
vector.rs expunge &Vec<T> pattern (#1579) 2016-07-12 10:28:35 +02:00