David Schwartz
bc1a83db27
A new-master version of the code to save only validated transactions into the SQL databases.
2013-07-25 13:58:15 -07:00
JoelKatz
0fd5f98c9c
Clean up some confusion about the last validated ledger versus the last published ledger.
2013-07-13 19:32:20 -07:00
JoelKatz
37fe9a6098
Merge branch 'master' into develop
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj
modules/ripple_app/ripple_app.cpp
modules/ripple_websocket/ripple_websocket.cpp
src/cpp/ripple/NetworkOPs.cpp
src/cpp/ripple/ripple_Application.cpp
src/cpp/ripple/ripple_Peer.cpp
2013-07-07 15:28:18 -07:00
JoelKatz
d303e7dba8
Shed load if the ledger publication engine is falling behind.
2013-07-03 13:20:27 -07:00
Vinnie Falco
0deaeb1000
Cleanly destroy Application on exit
2013-07-01 09:32:06 -07:00
Vinnie Falco
68179cfce3
Add LeakChecked qualifiers to key classes
2013-07-01 09:32:06 -07:00
Vinnie Falco
7eff38c1bb
Rename LedgerAcquire to InboundLedger
2013-06-16 16:57:52 -07:00
Vinnie Falco
00a7cbf610
Update copyright notice and 80 column separators
2013-06-15 18:20:59 -07:00
Vinnie Falco
521e812fc4
Reformatting using AStyle
2013-06-14 08:45:13 -07:00
Vinnie Falco
c23b088755
Rename to PathRequest, begin include dependency analysis in ripple_client
2013-06-11 09:45:11 -07:00
Vinnie Falco
cf3593b01b
Tidy up and annotate
2013-06-09 19:25:24 -07:00
Vinnie Falco
3273625f61
Split up InfoSub and tidy up various files
2013-06-09 11:26:18 -07:00
Vinnie Falco
38edcc8f0d
Split and refactor ProofOfWork
2013-06-06 21:43:50 -07:00
Vinnie Falco
ee49051e1c
Downgrade access specification from protected to private in most places
...
Conflicts:
src/cpp/ripple/FeatureTable.h
src/cpp/ripple/HashedObject.h
src/cpp/ripple/NetworkOPs.h
2013-06-06 20:44:58 -07:00
Vinnie Falco
54d246cb5e
Move RangeSet to ripple_basics module
2013-05-27 13:16:00 -07:00
Vinnie Falco
251cf723a7
Rename types.h to IntegerTypes.h and move to ripple_basics.h
2013-05-27 13:15:54 -07:00
JoelKatz
576ee472bf
Add "syncing" state.
2013-05-23 18:46:39 -07:00
JoelKatz
6b2a6ea03e
Report cache hit rates.
2013-05-21 16:10:51 -07:00
JoelKatz
6556719547
LedgerMaster keeps cached snapshot of the current ledger.
2013-05-16 00:58:20 -07:00
JoelKatz
9e47107255
Rework dispatch of new API PF requests.
2013-05-03 09:33:58 -07:00
JoelKatz
b6871cba8d
Dispatch new pathfinding requests.
2013-05-02 16:13:36 -07:00
JoelKatz
3ec1865ce5
Range of validated ledgers.
2013-03-27 14:46:31 -07:00
JoelKatz
b9456c8fd7
Except when interacting with boost, use std::function and std::bind
...
when C++11 is available. See: http://stackoverflow.com/questions/14617835
2013-03-16 03:27:43 -07:00
JoelKatz
566b36715d
Simplify the ledger acquire logic. This fixes a few bugs related to it including
...
the issue if you remove the ledger DB.
2013-03-11 17:57:12 -07:00
JoelKatz
c26726eff3
Bugfix for ledger acquired but not written to database with txns.
2013-03-11 09:19:54 -07:00
JoelKatz
6f811f1e96
Back out some Ledger::ref uses that scare me.
2013-03-10 16:03:23 -07:00
JoelKatz
ecb9e7db26
Enforce validation quorum. Default to quorum of 2 if started with --net.
2013-03-05 09:23:11 -08:00
JoelKatz
51db2d2cd7
Reprocess accepted ledgers once. Track metadata, transaction data, and affected accounts.
...
Process to SQL database and publish from this structure.
Include number of transactions in ledger publish info.
Publish transactions in applied order.
2013-03-04 13:59:53 -08:00
JoelKatz
bc21139198
If we don't have a ledger we should have, make sure we mark it missing so the
...
fetch engine will work on it.
2013-02-27 14:18:07 -08:00
JoelKatz
167d13cf40
I think this is the underlying issue. In some cases where the tx return value wasn't
...
full success, we applied to our open ledger but didn't relay. This caused disputes
resolved only by dispute relaying.
2013-02-24 16:48:54 -08:00
JoelKatz
862dbd7234
Add NetworkOPs::isValidate functions to check if a ledger is fully validated.
2013-02-15 19:01:48 -08:00
JoelKatz
4abdb34c20
Trivial cleanups.
2013-02-09 16:17:12 -08:00
JoelKatz
9781c10736
Fix some cases where ledger flags are incorrectly set.
2013-02-01 16:11:32 -08:00
JoelKatz
e8ac00e1a3
Allow tunable node sizes to adjust cache sizes, sweep timing, fetch
...
timing, and so on. Node size defaults to "tiny", which converves
memory and bandwidth.
2013-01-27 13:55:59 -08:00
JoelKatz
e25863207a
An assert in NetworkOPs.cpp line 850 was reported. This suggests a mutable
...
ledger came from the ledger master's "ledger by hash" table. This fixes an
obvious way that this can happen (that seems incredibly rare and requires a
transaction / ledger acquire race with a very narrow window) and adds some
extra asserts to try to catch this earlier.
2013-01-23 10:14:20 -08:00
JoelKatz
01b3e9e0ae
Add 'getValidatedLedger' to get the last fully-validated ledger.
...
We should probably audit calls to 'getClosedLedger' to see if they should use this instead.
2013-01-15 19:05:30 -08:00
JoelKatz
fb3e2e8af4
Fix a crash bug Arthur reported.
2013-01-15 17:09:57 -08:00
JoelKatz
55d1af746c
Share the 'shouldAcquire' function. recvGetLedger will needed it.
2013-01-12 08:42:24 -08:00
JoelKatz
955c5c3a9c
Bug fixes and performance improvements.
2013-01-11 16:40:37 -08:00
JoelKatz
2b479a66c1
Don't immediately retry a failed acquire.
2013-01-07 08:57:41 -08:00
JoelKatz
f493ea6478
Be more aggressive about avoiding publishing ledger holes. Make the logic simpler and more sensible.
2013-01-07 01:33:14 -08:00
JoelKatz
f0c73a76ce
Fix some local acquire logic
2013-01-04 00:40:03 -08:00
JoelKatz
1127ae560e
Defer publishing a ledger to clients until it accumulates sufficient
...
validations. We now have an open ledger, a last closed ledger, and a last
validated ledger. Normally, a ledger will be validated right after it
closes, but in edge cases, we might see a ledger close that then doesn't get
validated. This makes the code do the right thing.
2013-01-02 12:04:16 -08:00
JoelKatz
c2d654efee
More of the new publication logic.
2013-01-01 18:21:19 -08:00
JoelKatz
1e24721a98
First part of the fix to stop us from publishing ledgers that don't get validated.
2013-01-01 16:11:30 -08:00
JoelKatz
8b8a538a5c
On a ledger jump, properly invalidate prior ledgers and invalidate a backfill in progress.
2012-12-31 00:25:52 -08:00
JoelKatz
36f89edb74
Avoid a reference increment where it's not needed.
2012-12-27 10:41:32 -08:00
JoelKatz
be2e55d49c
Fix some cases where the acquire engine can stall.
2012-12-25 21:05:12 -08:00
JoelKatz
0fe9f178ef
NetworkOPs function to test if we have in our database a specified range of ledger numbers.
2012-11-29 11:46:22 -08:00
Stefan Thomas
fa3fab5816
Moved cpp code to src/cpp and js code to src/js.
2012-11-07 12:49:50 -08:00