Refactor treatment of Ledger:

All handling of Ledger in shared_ptr is modified to
use a const managed object when the context requires
immutable semantics.
This commit is contained in:
Nik Bougalis
2016-02-21 16:56:18 -05:00
parent 77a4218a9e
commit 34e85ccb62
50 changed files with 788 additions and 782 deletions

View File

@@ -33,7 +33,7 @@ Json::Value doLedgerClosed (RPC::Context& context)
Json::Value jvResult;
jvResult[jss::ledger_index] = ledger->info().seq;
jvResult[jss::ledger_hash] = to_string (ledger->getHash ());
jvResult[jss::ledger_hash] = to_string (ledger->info().hash);
return jvResult;
}

View File

@@ -138,7 +138,7 @@ Json::Value doTx (RPC::Context& context)
if (okay)
ret[jss::validated] = isValidated (
context, lgr->info().seq, lgr->getHash ());
context, lgr->info().seq, lgr->info().hash);
}
return ret;

View File

@@ -111,19 +111,19 @@ Status ledgerFromRequest (T& ledger, Context& context)
if (ledger == nullptr)
return {rpcNO_NETWORK, "InsufficientNetworkMode"};
assert (! ledger->info().open);
assert (! ledger->open());
}
else
{
if (index.empty () || index == "current")
{
ledger = ledgerMaster.getCurrentLedger ();
assert (ledger->info().open);
assert (ledger->open());
}
else if (index == "closed")
{
ledger = ledgerMaster.getClosedLedger ();
assert (! ledger->info().open);
assert (! ledger->open());
}
else
{
@@ -148,7 +148,7 @@ Status ledgerFromRequest (T& ledger, Context& context)
bool isValidated (LedgerMaster& ledgerMaster, ReadView const& ledger,
Application& app)
{
if (ledger.info().open)
if (ledger.open())
return false;
if (ledger.info().validated)
@@ -220,7 +220,7 @@ Status lookupLedger (
auto& info = ledger->info();
if (!info.open)
if (!ledger->open())
{
result[jss::ledger_hash] = to_string (info.hash);
result[jss::ledger_index] = info.seq;