Commit Graph

78 Commits

Author SHA1 Message Date
JoelKatz
7f44d1569e Computing our node public and private keys every time we needed them was silly and expensive. 2012-10-25 18:59:07 -07:00
Arthur Britto
249725b66b Rename NewcoinAddress to RippleAddress. 2012-10-25 18:31:20 -07:00
JoelKatz
ef40099649 Major updates to the ledger tracking system. 2012-10-25 01:50:07 -07:00
JoelKatz
766bc8377f Lots of small cleanups. 2012-10-22 11:49:17 -07:00
JoelKatz
81170d7811 Logging improvements. 2012-10-19 16:37:39 -07:00
JoelKatz
19efa3bf9b Make sure we properly handle receiving our own proposals and validations. 2012-10-19 11:51:44 -07:00
JoelKatz
94d607def0 Move deferred proposals to network ops. Include the last closed ledger in proposals. Call handleLCL
even if we happen to jump our notion of the network's last closed ledger to the ledger we had as our
locally last-closed ledger.
2012-10-16 05:27:48 -07:00
Arthur Britto
b2481f3c49 Rename the protocol from newcoin to ripple. 2012-10-12 15:53:59 -07:00
JoelKatz
6f2e4b8172 Add RPC "accept_ledger" function which processes all pending transactions (in standalone mode only)
and closes the ledger, opening a new one. The sequence number of the new open ledger is returned.
2012-10-08 20:02:52 -07:00
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