mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Clean up LedgerEntrySet and TransactionEngine:
* Reduce public interfaces * Remove wrapper functions * Remove freeze timed cutover code * Return results directly instead of via ref parameters
This commit is contained in:
committed by
Tom Ritchford
parent
5ce3ed3555
commit
67c666b033
@@ -22,6 +22,7 @@
|
||||
|
||||
#include <ripple/app/ledger/Ledger.h>
|
||||
#include <ripple/app/ledger/LedgerEntrySet.h>
|
||||
#include <utility>
|
||||
|
||||
namespace ripple {
|
||||
|
||||
@@ -37,69 +38,47 @@ public:
|
||||
static char const* getCountedObjectName () { return "TransactionEngine"; }
|
||||
|
||||
private:
|
||||
LedgerEntrySet mNodes;
|
||||
LedgerEntrySet mNodes;
|
||||
|
||||
TER setAuthorized (const STTx & txn, bool bMustSetGenerator);
|
||||
TER checkSig (const STTx & txn);
|
||||
void txnWrite ();
|
||||
|
||||
protected:
|
||||
Ledger::pointer mLedger;
|
||||
int mTxnSeq;
|
||||
|
||||
Account mTxnAccountID;
|
||||
SLE::pointer mTxnAccount;
|
||||
|
||||
void txnWrite ();
|
||||
Ledger::pointer mLedger;
|
||||
int mTxnSeq = 0;
|
||||
|
||||
public:
|
||||
typedef std::shared_ptr<TransactionEngine> pointer;
|
||||
TransactionEngine () = default;
|
||||
|
||||
TransactionEngine () : mTxnSeq (0)
|
||||
{
|
||||
;
|
||||
}
|
||||
TransactionEngine (Ledger::ref ledger) : mLedger (ledger), mTxnSeq (0)
|
||||
TransactionEngine (Ledger::ref ledger)
|
||||
: mLedger (ledger)
|
||||
{
|
||||
assert (mLedger);
|
||||
}
|
||||
|
||||
LedgerEntrySet& view ()
|
||||
LedgerEntrySet&
|
||||
view ()
|
||||
{
|
||||
return mNodes;
|
||||
}
|
||||
Ledger::ref getLedger ()
|
||||
|
||||
Ledger::ref
|
||||
getLedger ()
|
||||
{
|
||||
return mLedger;
|
||||
}
|
||||
void setLedger (Ledger::ref ledger)
|
||||
|
||||
void
|
||||
setLedger (Ledger::ref ledger)
|
||||
{
|
||||
assert (ledger);
|
||||
mLedger = ledger;
|
||||
}
|
||||
|
||||
// VFALCO TODO Remove these pointless wrappers
|
||||
SLE::pointer entryCreate (LedgerEntryType type, uint256 const& index)
|
||||
{
|
||||
return mNodes.entryCreate (type, index);
|
||||
}
|
||||
std::pair<TER, bool>
|
||||
applyTransaction (STTx const&, TransactionEngineParams);
|
||||
|
||||
SLE::pointer entryCache (LedgerEntryType type, uint256 const& index)
|
||||
{
|
||||
return mNodes.entryCache (type, index);
|
||||
}
|
||||
|
||||
void entryDelete (SLE::ref sleEntry)
|
||||
{
|
||||
mNodes.entryDelete (sleEntry);
|
||||
}
|
||||
|
||||
void entryModify (SLE::ref sleEntry)
|
||||
{
|
||||
mNodes.entryModify (sleEntry);
|
||||
}
|
||||
|
||||
TER applyTransaction (const STTx&, TransactionEngineParams, bool & didApply);
|
||||
bool checkInvariants (TER result, const STTx & txn, TransactionEngineParams params);
|
||||
bool
|
||||
checkInvariants (TER result, STTx const& txn, TransactionEngineParams params);
|
||||
};
|
||||
|
||||
inline TransactionEngineParams operator| (const TransactionEngineParams& l1, const TransactionEngineParams& l2)
|
||||
|
||||
Reference in New Issue
Block a user