8381 Commits

Author SHA1 Message Date
JoelKatz
3dbbda4b4a Security flaw. When we add transaction nodes to a synching tree,
we must make sure the hash of the data equals the tag!
2012-02-08 21:39:40 -08:00
JoelKatz
bb5f70cd73 Cleanups and optimizations. 2012-02-07 19:48:10 -08:00
JoelKatz
43c70696ce Cleanups and bug fix. 2012-02-07 17:30:06 -08:00
JoelKatz
a5a4a373f7 Cleanups and bugfix. 2012-02-07 17:29:58 -08:00
JoelKatz
6a3a4a1c96 Cleanups. 2012-02-07 17:29:48 -08:00
JoelKatz
35b6cf58c8 Cleanups. 2012-02-07 17:29:44 -08:00
JoelKatz
250bb71e7e Add isZero/isNonZero to avoid !!hash constructs. 2012-02-07 17:26:49 -08:00
JoelKatz
104fa67d86 Bugfix. 2012-02-07 17:02:59 -08:00
JoelKatz
704eb22195 Cleanup 2012-02-07 17:02:53 -08:00
JoelKatz
29d24c0af8 Bugfixes and new unit test. 2012-02-07 16:54:59 -08:00
JoelKatz
60d403725c Cleanups. 2012-02-07 14:16:10 -08:00
JoelKatz
ad61c7575f Bugfix. 2012-02-07 14:15:08 -08:00
JoelKatz
01983330d8 Complete the SHAMap rewrite. 2012-02-06 15:39:06 -08:00
JoelKatz
04cc08748e Half the new map diff implementation. This is the part that handles
a branch that's either empty in the other tree or matched by only
a leaf.
2012-02-05 21:22:20 -08:00
JoelKatz
4c1c53df87 Cleanups. 2012-02-05 07:18:35 -08:00
JoelKatz
3ec994f435 cleanups 2012-02-05 07:15:41 -08:00
JoelKatz
ef0c9d036a cleanups. 2012-02-05 07:13:23 -08:00
JoelKatz
c2498de27e Cleanups. 2012-02-05 07:08:54 -08:00
JoelKatz
30c9bf0ed2 Major rewrite of the SHAMap code. This code performs much better
than the original version, particularly for smaller maps.
2012-02-05 06:54:44 -08:00
JoelKatz
41ce5fa7f9 Missing from previous commit. 2012-02-02 16:14:27 -08:00
JoelKatz
fca8d4f8e9 Unordered maps perform better than regular ones. 2012-02-02 16:14:11 -08:00
JoelKatz
9b804c0c61 Optimizations. 2012-02-01 21:04:28 -08:00
JoelKatz
08d6b55fed Major optimization in the way we track SHAMaps. 2012-02-01 20:51:58 -08:00
JoelKatz
5888d19f2b SHAMap sync now passes its unit test with the "full below" optimization
disabled. There's a logic error in the implementation.
2012-02-01 19:10:07 -08:00
JoelKatz
86687e2012 bugfixes. 2012-02-01 18:46:08 -08:00
JoelKatz
ca3b614e29 A bug fix that's also a simplification. 2012-02-01 18:38:42 -08:00
JoelKatz
f2130d4f6b Complete the SHAMapSync unit test. The test currently fails. Debug in progress 2012-02-01 14:22:34 -08:00
JoelKatz
443eef3a9b Complete the SHAMapSync code. Next step is to finish the testing harness. 2012-01-31 20:07:55 -08:00
JoelKatz
bac03c31de Fixes and cleanups. 2012-01-31 18:44:59 -08:00
JoelKatz
eec4bfddff Need a 'walkTo' function. That walks as far as possible to tree
position.
2012-01-31 15:52:44 -08:00
JoelKatz
ca26a22314 Map sync testing framework. 2012-01-31 12:29:18 -08:00
JoelKatz
a7bdb81d3d Clean this up a bit. 2012-01-31 12:29:06 -08:00
JoelKatz
5a52d6fec3 More work on the ledger/SHAMap sync code. 2012-01-30 20:56:38 -08:00
JoelKatz
6e11bfbb81 More ledger acquire code. 2012-01-30 20:56:11 -08:00
JoelKatz
3740498b50 Some enhancements to this coded needed for the sync code to work. 2012-01-30 19:04:22 -08:00
JoelKatz
2116ce700d Implementations. 2012-01-30 18:00:27 -08:00
JoelKatz
de1e8cdab7 The new code tracks responses by ledger hash, not by request sequence. 2012-01-30 17:58:49 -08:00
JoelKatz
895a51319d Do it the way everyone else does it -- more likely to work. 2012-01-30 17:58:29 -08:00
JoelKatz
94d61f67a8 Outline of the LedgerAcquire class and its tracking class. 2012-01-30 14:51:21 -08:00
JoelKatz
e47cba3369 Code to track ledgers we're acquiring from remote node, allow
callbacks to be attached to them, and trigger their state machines.
2012-01-30 12:56:43 -08:00
JoelKatz
7885439bb4 Tiny optimization. 2012-01-27 11:34:55 -08:00
JoelKatz
110a4a47f1 Use the transaction master. 2012-01-27 11:34:41 -08:00
JoelKatz
4f0a9a4ce5 Tie in transaction master. Some performance improvements and const fixes. 2012-01-27 11:33:54 -08:00
JoelKatz
0867986c35 Tie in transaction master code. 2012-01-27 11:33:36 -08:00
JoelKatz
1896348b7b Modify the ledger history code to use the tagged cache. 2012-01-25 16:32:27 -08:00
JoelKatz
8a0625a477 Bugfix. 2012-01-25 16:32:13 -08:00
JoelKatz
58d81ca937 Map/Cache to track objects by name and canonicalize references. Will
be used for transactions and closed ledgers.
2012-01-25 15:27:14 -08:00
JoelKatz
f4e6a72e1c Logic to 'rebase' a ledger to a different previous ledger.
This code does not assume the new previous ledger is valid
or trusted.
1) Validate sequence numbers and basic information.
2) Create a new ledger based on the new previous ledger.
3) Compare the old previous ledger and the new previous
ledger.
4) Try to include any missing, valid transactions in
the current ledger.
5) Traverse the old ledger based on the old previous ledger,
try to import any transactions into the new ledger.
2012-01-24 21:30:27 -08:00
JoelKatz
b5afbf52ec Protocol enhancements for network 'previous ledger' sync. 2012-01-24 21:29:54 -08:00
JoelKatz
7215f5b220 Add AccountState::addJson. Make RPC call "accountinfo <account>" work
on non-local accounts and local account by account identifier.
2012-01-23 16:58:17 -08:00