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