JoelKatz
89518e23cc
Fix two more race conditions involving us taking our position late.
...
Remove an incorrect comment.
2012-09-17 00:38:47 -07:00
JoelKatz
0efe8b4892
Cleanups.
2012-09-13 20:41:25 -07:00
JoelKatz
1faa8ccda6
Some less confusing names.
2012-09-13 19:26:40 -07:00
JoelKatz
6c016039c2
Get rid of all "const SHAMap::pointer&" -> SHAMap::ref
2012-09-13 15:36:56 -07:00
JoelKatz
adf4ff998b
Make it less likely that a node will get temporarily stuck in a stale consensus process.
2012-09-07 11:23:06 -07:00
JoelKatz
a3241dae56
Fix a case where we could lose deferred prposals.
2012-09-05 22:28:26 -07:00
JoelKatz
df1e5ab95a
Cleanup.
...
Fix a bug when we incompletely remove a vote on a disputed transaction.
2012-09-03 08:35:53 -07:00
JoelKatz
4f598af582
Change 'shouldClose' to return a bool.
...
Clear structures on LCL view change during consensus window.
Cleaner calculation of 'rounded' close times.
Maintain close time offset.
2012-09-03 05:16:32 -07:00
JoelKatz
02bd898e51
Some const-correctness.
...
const SLE::pointer & -> SLE::ref
2012-08-31 18:26:45 -07:00
JoelKatz
9ef0a5491b
Use "Ledger::ref" instead of "const Ledger::pointer&".
2012-08-31 18:11:41 -07:00
JoelKatz
ad12e318ba
Allow a peer position to be removed from the consensus logic if the peer is
...
not responding. This version uses static timing. A peer takes a position
every 12 seconds and a position is valid for 20 seconds. It might make sense
to either make that timing adaptive or include a "validity time" field in
the position. However, I think this is really only going to be an issue in
fairly small networks (which is why we are seeing it).
2012-08-31 15:51:41 -07:00
JoelKatz
c3603c403d
Code to determine how old a proposal is.
...
Low-level code to remove a peer from the consensus process.
2012-08-31 14:47:31 -07:00
JoelKatz
4d3fc5b6a5
Stash and apply proposals received with a different LCL.
2012-08-30 12:28:02 -07:00
JoelKatz
faaedb806f
Start of the proposal defer/playback code.
...
Clean up tem codes to tap codes.
2012-08-30 11:43:20 -07:00
JoelKatz
c481bd6cba
Simplify the code that handles a ledger change in the consensus window.
...
Remove duplicate code. Handle edge cases correctly in all code paths.
2012-08-30 09:38:44 -07:00
JoelKatz
6282ad4a88
Clean up the TransactionEngineParameter flags. Clarify the semantics for
...
soft failure. Note that the code will not yet invoke a transaction with a
retry flag, but the support is there for transcations to handle it.
2012-08-29 23:02:06 -07:00
JoelKatz
420ee91877
Remove more wasteful allocate/increment/decrement/free cycles.
2012-08-19 19:23:10 -07:00
JoelKatz
abf41dd4de
Fix a large number of cases where we copy construct a shared_ptr just to destroy it.
2012-08-15 04:01:22 -07:00
JoelKatz
b4e63c3025
Fix a few cases where we reset the acquire timer when we should not.
2012-08-07 04:11:20 -07:00
JoelKatz
efa3653b80
Bugfix for moving from connected to tracking state.
...
Skeleting for getting Json info from consensus engine.
2012-08-06 03:40:52 -07:00
JoelKatz
a902134133
Don't be blind to validations during the idle time.
2012-08-01 15:00:39 -07:00
JoelKatz
93de56ae47
Fix some issues slowing down transaction convergence.
...
The biggest one is that a node that closes its ledger first will announce a transaction set we
have in our open ledger but don't realize we have.
2012-07-17 21:11:54 -07:00
JoelKatz
333c9896fb
Cut to millisecond timing.
2012-07-17 17:48:55 -07:00
JoelKatz
69ff2e06ea
Don't try to rescue transactions that made it into the closed ledger.
2012-07-17 16:06:36 -07:00
JoelKatz
40e0dba6b6
Simplify timing.
2012-07-16 13:25:38 -07:00
JoelKatz
7e7356c155
Cleanups and bugfixes.
2012-07-16 00:47:46 -07:00
JoelKatz
b516cdcf04
Bugfixes to code to get into sync during consensus phase.
2012-07-14 02:24:00 -07:00
JoelKatz
02decebe08
Rest of close time logic.
2012-07-12 21:46:13 -07:00
JoelKatz
fc48efea59
Track proposed ledger close times.
2012-07-12 01:43:02 -07:00
JoelKatz
187130fe31
Properly sequence from one converge window to the next.
2012-07-10 19:24:52 -07:00
JoelKatz
74cd8a65b8
More continuous ledger close work:
...
CLC code now compiles and links.
Remove dead code.
Decide when to come out of idle.
Decide when we have a convergence.
Give all state handlers access to timing information.
2012-07-10 10:25:54 -07:00
JoelKatz
632bf2e586
Updates to CLC.
2012-07-09 15:56:36 -07:00
JoelKatz
b417faa927
CLC work.
2012-07-09 10:43:11 -07:00
JoelKatz
182228b6f9
Infrastructure for continuous ledger close.
2012-06-30 16:58:05 -07:00
JoelKatz
3a77ef5c82
Begin implementing continuous ledger close.
...
Pretty much all remaining changes should be to LedgerConsensus.cpp
2012-06-29 16:34:16 -07:00
JoelKatz
c13c561295
Use the new accelerators to speed up ledger and transaction set synchronization
2012-06-24 05:33:53 -07:00
JoelKatz
4568302182
Fix a bug where a non-validating node couldn't recognize consensus if there
...
was only one vaalidating node.
2012-06-22 03:01:13 -07:00
JoelKatz
dda06d989d
Begin fixing consensus without having the full consensus LCL.
2012-06-21 17:37:27 -07:00
JoelKatz
da3720baa9
Bugfixes.
2012-06-20 02:18:03 -07:00
JoelKatz
75f85ae519
Begin the code to allow a node to enter the consensus process even if it's not proposing and
...
even if it's not validating. This also fixes the bug Arthur reported.
2012-06-19 16:55:04 -07:00
JoelKatz
ea837ff819
Clean up some logging that was confusing.
2012-06-18 21:12:35 -07:00
JoelKatz
74ea434435
Bugfixes to consensus:
...
1) Don't apply to new open ledger in final mode.
2) Re-apply any NO transactions to the new open ledger.
2012-06-18 12:57:43 -07:00
JoelKatz
a0970e705f
Consensus bugfixing.
2012-06-18 12:24:15 -07:00
Arthur Britto
368e5a0acc
Have consensus use the config for validation and use uint160 for peerIDs.
2012-06-13 15:51:30 -07:00
JoelKatz
4b79e7dca8
New canonical transaction order code. Tested and working.
...
CanonicalTXSet acts much like a map, but sorts the transactions in a simple
order that makes them take fewer passed.
2012-06-08 05:09:23 -07:00
JoelKatz
bda64fac2a
Tx set exchange improvements.
2012-06-07 12:25:44 -07:00
JoelKatz
b4e238a2e4
With luck, a fix for the crash.
2012-06-05 15:41:44 -07:00
JoelKatz
0e7307200e
First set of efficiency improvements.
2012-06-04 07:18:57 -07:00
JoelKatz
2206ff3be6
Get rid of hash_SMN and instead extend boost::hash.
...
This makes the TaggedCache code cleaner.
2012-06-04 06:01:11 -07:00
JoelKatz
75ad545916
Finish the wobble rework.
2012-06-03 15:30:39 -07:00