Merge branch 'faster_clientops' into develop

This commit is contained in:
JoelKatz
2013-05-14 18:44:42 -07:00
7 changed files with 42 additions and 22 deletions

View File

@@ -94,7 +94,7 @@ SLE::pointer LedgerEntrySet::entryCache(LedgerEntryType letType, const uint256&
if (!sleEntry)
{
assert(action != taaDELETE);
sleEntry = mLedger->getSLE(index);
sleEntry = mImmutable ? mLedger->getSLEi(index) : mLedger->getSLE(index);
if (sleEntry)
entryCache(sleEntry);
}
@@ -115,7 +115,7 @@ LedgerEntryAction LedgerEntrySet::hasEntry(const uint256& index) const
void LedgerEntrySet::entryCache(SLE::ref sle)
{
assert(mLedger);
assert(sle->isMutable());
assert(sle->isMutable() || mImmutable); // Don't put an immutable SLE in a mutable LES
std::map<uint256, LedgerEntrySetEntry>::iterator it = mEntries.find(sle->getIndex());
if (it == mEntries.end())
{
@@ -138,7 +138,7 @@ void LedgerEntrySet::entryCache(SLE::ref sle)
void LedgerEntrySet::entryCreate(SLE::ref sle)
{
assert(mLedger);
assert(mLedger && !mImmutable);
assert(sle->isMutable());
std::map<uint256, LedgerEntrySetEntry>::iterator it = mEntries.find(sle->getIndex());
if (it == mEntries.end())
@@ -175,7 +175,7 @@ void LedgerEntrySet::entryCreate(SLE::ref sle)
void LedgerEntrySet::entryModify(SLE::ref sle)
{
assert(sle->isMutable());
assert(sle->isMutable() && !mImmutable);
assert(mLedger);
std::map<uint256, LedgerEntrySetEntry>::iterator it = mEntries.find(sle->getIndex());
if (it == mEntries.end())
@@ -209,7 +209,7 @@ void LedgerEntrySet::entryModify(SLE::ref sle)
void LedgerEntrySet::entryDelete(SLE::ref sle)
{
assert(sle->isMutable());
assert(sle->isMutable() && !mImmutable);
assert(mLedger);
std::map<uint256, LedgerEntrySetEntry>::iterator it = mEntries.find(sle->getIndex());
if (it == mEntries.end())