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
e557395072
Fix the bug causing ledgers to close immediately even without transactions.
...
Fix a bug that could cause the network to proceed without a consensus.
2012-09-07 10:47:15 -07:00
JoelKatz
4737b960fc
Improve comment.
2012-09-05 22:23:12 -07:00
JoelKatz
687578abd9
Get rid of "dead" ledgers. We don't need them any more and they make trouble.
...
Fix close time synch to be more accurate.
2012-09-05 21:55:00 -07:00
JoelKatz
2512eac370
Rounding was messing up the close time consensus test.
2012-09-05 14:52:55 -07:00
JoelKatz
ec625a608f
Small tweaks.
2012-09-05 14:37:42 -07:00
JoelKatz
1dfdf8e9d8
Count a validation for its previous ledger if it's during consensus time.
2012-09-05 10:05:15 -07:00
JoelKatz
7785b89b5d
Some extra debugging. Don't jump back to the ledger we just left (yeah,
...
there was another way that could happen.)
2012-09-05 07:22:04 -07:00
JoelKatz
00199d3915
An imperfect fix for the case where we get validations during the consensus process for the next ledger and
...
think it's a change in the previous ledger.
2012-09-03 20:36:51 -07:00
JoelKatz
4930ebb945
Simplify the way we handle validations. Include a signing time instead of a
...
closing time. Keep only the validation with the most recent signing time.
Sign using network time. This eliminates the ValidationPair nightmare and
makes the logic must easier to understand, increasing confidence that it
does what it's supposed to do.
2012-09-03 20:13:57 -07:00
JoelKatz
0862ed2957
Don't get stuck in consensus process.
2012-09-03 10:14:25 -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
cc4827559c
Support for proposals that contain the previous ledger hash.
...
A fix for ledger acquires not stopping when they should.
2012-09-03 06:03:09 -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
d5fe3261ab
Cleanups and simplfications.
2012-09-03 01:47:03 -07:00
JoelKatz
b950877758
Some proposal cleanups.
2012-09-03 01:19:58 -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
ee71603dec
Logic error in last close logic making us thing consensus was slow.
2012-08-30 10:29:56 -07:00
JoelKatz
e5af7072bc
Propogate a view change during consensus to the NetworkOPs code.
2012-08-30 10:04:58 -07:00
JoelKatz
c8d3de7b7d
Remove an incorrect assertion.
2012-08-30 09:48:59 -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
727d2644a4
We mishandle the cases where we already have the new consensus LCL.
2012-08-30 09:19:14 -07:00
JoelKatz
f63d9df60b
Ledger idle timing fixes.
2012-08-29 23:38:35 -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
774110eef9
Fix a bug that could cause an idle ledger to spend insufficient time
...
establishing a consensus.
2012-08-29 16:01:30 -07:00
JoelKatz
ed709e0ccc
Merge branch 'master' of github.com:jedmccaleb/NewCoin
2012-08-29 14:40:00 -07:00
JoelKatz
5db8082608
Small bugfixes.
2012-08-29 14:39:43 -07:00
Arthur Britto
aec95e3a0f
Merge branch 'ripple' of github.com:jedmccaleb/NewCoin into ripple
2012-08-29 11:58:57 -07:00
Arthur Britto
d96070f083
Rename TransactionEngineResult to TER & work on ripple.
2012-08-29 11:58:34 -07:00
JoelKatz
54eca8a3bb
Whitespace fix.
2012-08-28 23:44:19 -07:00
JoelKatz
192c64461d
Simplify and improve performance a bit.
2012-08-28 15:35:47 -07:00
JoelKatz
7bf224200b
This is not only simpler, but should perform slightly better too.
2012-08-28 15:31:41 -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
11f7012d09
Fix a bug where tx set acquire timeouts never occured.
...
Run acquire timeouts in milliseconds rather than seconds.
2012-08-15 01:20:14 -07:00
JoelKatz
5eca52497f
Improve close time synch with no transactions
2012-08-13 23:13:12 -07:00
JoelKatz
22237e58ab
Check for network condition during idle time. Switch LCL if needed.
2012-08-13 22:27:29 -07:00
JoelKatz
e3b6ec5080
Don't call newLCL more than once.
2012-08-13 17:18:58 -07:00
JoelKatz
a7f192c989
Cleanups.
2012-08-13 17:11:00 -07:00
JoelKatz
0f51774f58
Some paranoid extra checks.
2012-08-13 15:10:38 -07:00
JoelKatz
d554950efe
One more drop of extra debug.
2012-08-13 14:35:47 -07:00
JoelKatz
d3daa2fc00
Extra debug to help rule out the possibility that our ledgers are diverging after we are in sync.
2012-08-13 04:53:50 -07:00
JoelKatz
c5acd0f630
Cleanups.
2012-08-13 03:10:43 -07:00
JoelKatz
d477172f65
Cleanups and whitespace fixes.
2012-08-09 19:20:53 -07:00
JoelKatz
3a4762c609
Don't try to calculate close time offsets if a ledger closed due to being idle.
2012-08-08 01:35:44 -07:00