Commit Graph

2317 Commits

Author SHA1 Message Date
JoelKatz
bbddef8572 Throw on missing node in SHAMapDiff code. 2012-09-13 20:49:36 -07:00
JoelKatz
0efe8b4892 Cleanups. 2012-09-13 20:41:25 -07:00
JoelKatz
b35f87564a Fix a bug triggered by a acquiring a transaction set after having bowed out
of the consensus process.
2012-09-13 19:32:44 -07:00
JoelKatz
1faa8ccda6 Some less confusing names. 2012-09-13 19:26:40 -07:00
JoelKatz
58befb406e Typo. 2012-09-13 15:37:48 -07:00
JoelKatz
6c016039c2 Get rid of all "const SHAMap::pointer&" -> SHAMap::ref 2012-09-13 15:36:56 -07:00
JoelKatz
7c7a4bd3e0 Make a field for transaction metadata. 2012-09-13 15:32:30 -07:00
JoelKatz
f8e107a4be Extra debug. 2012-09-13 15:30:21 -07:00
JoelKatz
7ba143b4df Revert "Cleanup transaction set sync map creation."
This reverts commit de8288d4d5.
2012-09-13 15:29:47 -07:00
JoelKatz
ec2dded961 Revert "Cleanup transaction set sync map creation."
This reverts commit de8288d4d5.
2012-09-13 15:23:55 -07:00
JoelKatz
de8288d4d5 Cleanup transaction set sync map creation.
Remove a passthrough to NetworkOPs that doesn't make much sense.
2012-09-13 15:22:36 -07:00
JoelKatz
9cdcf50c07 Mark a caution with this code.
Cleanups.
2012-09-13 14:08:41 -07:00
JoelKatz
499d9b5536 Log metadata in debug builds. 2012-09-13 13:12:21 -07:00
JoelKatz
e6411a6afc Ensure we don't get json/value.h without json/writer.h 2012-09-13 13:11:34 -07:00
JoelKatz
4831588c33 Clean up JSON logging. 2012-09-13 13:11:29 -07:00
JoelKatz
093ab09557 An empty node is legal. For example, a created node. 2012-09-13 13:08:33 -07:00
JoelKatz
38dd9f3f88 Add metadata JSON to set JSON.
Fix a bug where we try to access the existing node when we're creating a node.
Extra asserts to catch original node mishandlig.
2012-09-13 12:29:06 -07:00
JoelKatz
aa35b33b19 Must calculated metadata before applying LES> 2012-09-13 01:39:14 -07:00
JoelKatz
db85d87ff2 Must modify nodes. 2012-09-13 01:39:03 -07:00
JoelKatz
50190b2c35 Fix threading bug. 2012-09-13 01:31:51 -07:00
JoelKatz
66338e4a0a Add metadata to some JSON outputs. 2012-09-13 01:29:27 -07:00
JoelKatz
4e957a5efd This version is incompatible with the previous versions 2012-09-13 01:29:14 -07:00
JoelKatz
34dcb99370 New functions to pass tree node types to callers. 2012-09-13 01:29:04 -07:00
JoelKatz
953f0ad63f Don't charge for transactions twice. Have the "old" getTransaction handle metadata sanely.
Fix calcRawMeta to fit the new model where an LES holds a reference to its ledger
Don't put metadata in open ledger txn sets to avoid breaking the proposal mechanism.
2012-09-13 01:01:40 -07:00
JoelKatz
d2336e3eea Ledger functions to handle transaction metadata. 2012-09-12 18:40:16 -07:00
JoelKatz
1ba5b02f14 Don't track metadata for directory nodes. 2012-09-12 09:18:10 -07:00
JoelKatz
30cd0e197d Remove dead code that's in my way. 2012-09-12 09:18:03 -07:00
JoelKatz
ca6e9cf764 Fix a case where we can get stuck in the wrong consensus window and have to
wait for it to timeout.
2012-09-11 21:36:23 -07:00
JoelKatz
b5da6c22a5 Missing piece for TX metadata. 2012-09-11 15:35:23 -07:00
JoelKatz
ca1436ac25 Remove some dead code that was in my way. 2012-09-11 14:51:13 -07:00
JoelKatz
81cd4cf820 Start of code to track network state, track overwhelmed nodes, and adjust
transaction fees.
2012-09-11 11:56:41 -07:00
JoelKatz
ac225c74e6 Merge branch 'master' of github.com:jedmccaleb/NewCoin 2012-09-10 16:30:37 -07:00
JoelKatz
2c2d9cf8f5 Small cleanups. 2012-09-10 16:30:25 -07:00
JoelKatz
4faad38112 Base classes used polymorphically whose child classes have data members or
destructors must themselves have virtual destructors or Bad Things(TM)
happen.
2012-09-10 16:29:42 -07:00
Arthur Britto
cc467bf1d3 Move TransactionEngine do* to TransactionAction.cpp 2012-09-10 12:51:56 -07:00
Arthur Britto
b7f3baee15 Split up TransactionEngine, part 1. 2012-09-09 19:54:46 -07:00
Arthur Britto
4adfce51a3 Create TransactionErr.* and move dir functions to LedgerEntrySet. 2012-09-08 15:37:22 -07:00
Arthur Britto
fe6c5d2b60 Comment out bad assert. 2012-09-08 15:36:23 -07:00
Arthur Britto
be31c0e921 Merge branch 'master' of github.com:jedmccaleb/NewCoin 2012-09-08 11:33:09 -07:00
Arthur Britto
042a239c62 Remove unused directories (test & Debug). 2012-09-08 11:32:51 -07:00
JoelKatz
4271a9d12d Improve comments.
Fix a typo in previous commit.
2012-09-08 04:14:42 -07:00
JoelKatz
3ab5b24226 Trivial change. 2012-09-08 04:14:26 -07:00
JoelKatz
18b18359c5 Be smarter about tracking which peers have which ledgers. 2012-09-08 04:14:06 -07:00
JoelKatz
9222eee1df I believe this trivial change solves the "stuck one ledger behind" problem.
If the ledger is open, there should be no significant number of proposals
for a subsequent ledger. If there is, we are a ledger behind.
2012-09-08 03:51:56 -07:00
JoelKatz
e2137ea5af Make our ledger a bit stickier to avoid the "check at the wrong time"
problem (when you don't have enough validations for the latest ledger and so
jump backwards when you shouldn't. This solves every known ledger consensus
issue except the "stuck one ledger behind" issue. I'm working on that now.
2012-09-08 03:49:12 -07:00
JoelKatz
1a1952ea7b You can now create a LedgerEntrySet without a TransactionEngine. You can
call all the various entry* functions on it directly. You can throw it out
when you're done. The constructor is:

    LedgerEntrySet(Ledger::ref ledger)

All the normal checkpointing, caching, and swapping will work. Of course,
you cannot commit the results. The TransactionEngine::entry* functions now
just directly call the corresponding functions on the LedgerEntrySet. You
can call them in code that will only be used in the context of a
transaction.
2012-09-08 00:48:26 -07:00
JoelKatz
63921c9757 Cleanups and fixes. 2012-09-07 22:21:07 -07:00
JoelKatz
0defc8d5ab Cleanups. 2012-09-07 15:50:07 -07:00
JoelKatz
345d3ccb1d Merge branch 'master' of github.com:jedmccaleb/NewCoin 2012-09-07 15:26:14 -07:00
JoelKatz
cbc758db64 Fix crash 2012-09-07 15:25:47 -07:00