Second phase of removing old-style ledger data queries -- always give new

style replies.
This commit is contained in:
JoelKatz
2012-10-22 12:26:51 -07:00
parent 766bc8377f
commit 9326074324

View File

@@ -1053,25 +1053,22 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet)
ledger->addRaw(nData); ledger->addRaw(nData);
reply.add_nodes()->set_nodedata(nData.getDataPtr(), nData.getLength()); reply.add_nodes()->set_nodedata(nData.getDataPtr(), nData.getLength());
if (packet.nodeids().size() != 0) cLog(lsINFO) << "Ledger root w/map roots request";
{ // new-style root request SHAMap::pointer map = ledger->peekAccountStateMap();
cLog(lsINFO) << "Ledger root w/map roots request"; if (map && map->getHash().isNonZero())
SHAMap::pointer map = ledger->peekAccountStateMap(); { // return account state root node if possible
if (map && map->getHash().isNonZero()) Serializer rootNode(768);
{ // return account state root node if possible if (map->getRootNode(rootNode, snfWIRE))
Serializer rootNode(768); {
if (map->getRootNode(rootNode, snfWIRE)) reply.add_nodes()->set_nodedata(rootNode.getDataPtr(), rootNode.getLength());
if (ledger->getTransHash().isNonZero())
{ {
reply.add_nodes()->set_nodedata(rootNode.getDataPtr(), rootNode.getLength()); map = ledger->peekTransactionMap();
if (ledger->getTransHash().isNonZero()) if (map && map->getHash().isNonZero())
{ {
map = ledger->peekTransactionMap(); rootNode.resize(0);
if (map && map->getHash().isNonZero()) if (map->getRootNode(rootNode, snfWIRE))
{ reply.add_nodes()->set_nodedata(rootNode.getDataPtr(), rootNode.getLength());
rootNode.resize(0);
if (map->getRootNode(rootNode, snfWIRE))
reply.add_nodes()->set_nodedata(rootNode.getDataPtr(), rootNode.getLength());
}
} }
} }
} }