JoelKatz
4b2b75b367
Fix the bug Andrey reported. A reference into an array can become invalid if
...
the array changes size. This happened in the txn metadata code when we had
to thread while handling a node.
2012-10-20 12:52:25 -07:00
JoelKatz
25d888ff48
Include the transaction result in the metadata.
2012-10-16 14:36:36 -07:00
JoelKatz
a9447fdfd1
Use new metadata code.
2012-10-16 13:56:13 -07:00
JoelKatz
50ce067d04
Whitespace changes.
2012-10-14 18:27:19 -07:00
JoelKatz
19b518a0af
Quick fix for the bug that was causing ledgers to diverge.
...
LES used an unordered map, causing the traverse of modified ledger nodes to
be in random order. This meant different nodes would thread transactions
differently, causing ledger divergence. This change switches the LES code to
use a standard map. This adds more overhead to LES search functions (because
ordered map operations like search and insert are more expensive than
unordered map opreations, so it may be worth a separate ordering step just
for calcRawMeta instead.
2012-10-12 17:01:37 -07:00
JoelKatz
6bde384e06
Log partition support.
2012-10-08 00:52:00 -07:00
Arthur Britto
2ae5a92fa1
Cosmetic.
2012-10-05 18:01:39 -07:00
JoelKatz
9c637aedb9
Clean up some expensive logging.
2012-10-04 12:54:20 -07:00
Arthur Britto
5b1ac0b1e5
Add transfer support to offer taking.
2012-10-03 14:44:59 -07:00
JoelKatz
e04b695434
Burninate "Value" in "*ValueField*" functions. It was just pointless extra typing.
...
What else would you set/get in a field, by name, other than its value?
2012-10-01 15:35:30 -07:00
JoelKatz
79c35f2689
Remove all IField/ITField functions. They are now obsolete.
...
Use the correponding STObject functions.
2012-10-01 15:21:22 -07:00
JoelKatz
cfa0f129d9
Merge branch 'master' of github.com:jedmccaleb/NewCoin into serialize
...
Conflicts:
src/LedgerFormats.cpp
src/SerializedLedger.cpp
src/Version.h
Merge with master
2012-09-28 19:22:30 -07:00
Arthur Britto
7bd25b8688
Remove LowID and HighID from ripple state nodes.
2012-09-28 14:59:34 -07:00
JoelKatz
6d58bd52b1
Missing from SField::ref commit.
2012-09-26 12:47:42 -07:00
Arthur Britto
521f47c330
Merge branch 'master' of github.com:jedmccaleb/NewCoin
2012-09-24 19:51:02 -07:00
Arthur Britto
8cc760ad8d
Clean up offer processing.
2012-09-24 19:50:57 -07:00
JoelKatz
a4070de73e
Some work on the new binary formats that doesn't break current code.
2012-09-24 13:04:24 -07:00
JoelKatz
02b3bcb089
Put the threading in the correct owner node for unthreaded nodes.
...
Add some additional debug to threading.
2012-09-20 00:15:48 -07:00
JoelKatz
f8e107a4be
Extra debug.
2012-09-13 15:30:21 -07:00
JoelKatz
499d9b5536
Log metadata in debug builds.
2012-09-13 13:12:21 -07:00
JoelKatz
38dd9f3f88
Add metadata JSON to set JSON.
...
Fix a bug where we try to access the existing node when we're creating a node.
Extra asserts to catch original node mishandlig.
2012-09-13 12:29:06 -07:00
JoelKatz
db85d87ff2
Must modify nodes.
2012-09-13 01:39:03 -07:00
JoelKatz
953f0ad63f
Don't charge for transactions twice. Have the "old" getTransaction handle metadata sanely.
...
Fix calcRawMeta to fit the new model where an LES holds a reference to its ledger
Don't put metadata in open ledger txn sets to avoid breaking the proposal mechanism.
2012-09-13 01:01:40 -07:00
JoelKatz
1ba5b02f14
Don't track metadata for directory nodes.
2012-09-12 09:18:10 -07:00
Arthur Britto
b7f3baee15
Split up TransactionEngine, part 1.
2012-09-09 19:54:46 -07:00
Arthur Britto
4adfce51a3
Create TransactionErr.* and move dir functions to LedgerEntrySet.
2012-09-08 15:37:22 -07:00
JoelKatz
1a1952ea7b
You can now create a LedgerEntrySet without a TransactionEngine. You can
...
call all the various entry* functions on it directly. You can throw it out
when you're done. The constructor is:
LedgerEntrySet(Ledger::ref ledger)
All the normal checkpointing, caching, and swapping will work. Of course,
you cannot commit the results. The TransactionEngine::entry* functions now
just directly call the corresponding functions on the LedgerEntrySet. You
can call them in code that will only be used in the context of a
transaction.
2012-09-08 00:48:26 -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
bcd08c368c
This should complete the code to build the transaction meta data based on
...
the ledger entry set.
2012-08-28 04:05:19 -07:00
JoelKatz
9148127083
Fix threading.
2012-08-27 03:04:33 -07:00
JoelKatz
4633aa019c
Mid-level threading code.
2012-08-24 09:35:35 -07:00
JoelKatz
e00426a3be
Finalizing of metadata building.
2012-08-22 14:56:01 -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
Arthur Britto
872314f933
Remove more Account from AccountStateNode and LedgerEntrySet revision.
2012-08-14 17:17:28 -07:00
Arthur Britto
2f3f51b0ee
Merge branch 'master' into ripple
...
Conflicts:
src/LedgerEntrySet.cpp
2012-08-10 13:15:34 -07:00
JoelKatz
e3c77d2c0c
More LedgerEntrySet code. Retrieve as Json. Finalize before serializing.
2012-08-09 19:21:08 -07:00
JoelKatz
9eaf052ee8
Make this compile temporarily.
2012-08-03 03:22:32 -07:00
Arthur Britto
db8775729f
Merge branch 'master' into ripple
2012-08-01 14:34:24 -07:00
Arthur Britto
4f8ada17c7
Work towards ripple.
2012-07-28 17:38:37 -07:00
JoelKatz
1167ba2cc0
Set up for ledger diffs to populate the metadata.
...
Special case for unfunded offers -- need to know how much was taken before deletion
2012-07-28 14:49:34 -07:00
JoelKatz
ce2e1cea33
Beging merging transaction metadata code with ledger entry set code.
2012-07-27 12:56:28 -07:00
JoelKatz
ad77087ee5
Remove some unneeded reference count bumps.
2012-07-26 16:38:42 -07:00
JoelKatz
c5995e9e1e
Add some asserts.
2012-07-26 16:35:36 -07:00
JoelKatz
061460b1f8
Fix a case I mishandled.
2012-07-26 16:25:51 -07:00
JoelKatz
487590b938
Fixes.
2012-07-26 16:22:40 -07:00
Arthur Britto
073f3904ec
LedgerEntrySet fixes.
2012-07-26 16:13:39 -07:00
JoelKatz
5fa4bad9b5
Switch to the new LedgerEntrySet code. This provides more sophisticated checkpointing and rewinding.
2012-07-26 04:07:37 -07:00
JoelKatz
de6ef42baf
Complete the basic API for LedgerEntrySet's.
2012-07-25 04:01:42 -07:00
JoelKatz
40c4d686fb
LedgerEntrySet work.
2012-07-25 02:46:19 -07:00