Merge branch 'master' of github.com:jedmccaleb/NewCoin

This commit is contained in:
JoelKatz
2013-02-11 02:34:44 -08:00
5 changed files with 39 additions and 8 deletions

View File

@@ -1339,6 +1339,8 @@ void NetworkOPs::pubAcceptedTransaction(Ledger::ref lpCurrent, const SerializedT
void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTransaction& stTxn, TER terResult, bool bAccepted, TransactionMetaSet::pointer& meta)
{
boost::unordered_set<InfoSub*> notify;
int iProposed = 0;
int iAccepted = 0;
{
boost::recursive_mutex::scoped_lock sl(mMonitorLock);
@@ -1356,6 +1358,7 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
{
BOOST_FOREACH(InfoSub* ispListener, simiIt->second)
{
++iProposed;
notify.insert(ispListener);
}
}
@@ -1368,6 +1371,7 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
{
BOOST_FOREACH(InfoSub* ispListener, simiIt->second)
{
++iAccepted;
notify.insert(ispListener);
}
}
@@ -1375,6 +1379,7 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
}
}
}
cLog(lsINFO) << boost::str(boost::format("pubAccountTransaction: iProposed=%d iAccepted=%d") % iProposed % iAccepted);
// FIXME: This can crash. An InfoSub can go away while we hold a regular pointer to it.
if (!notify.empty())
@@ -1401,6 +1406,8 @@ void NetworkOPs::subAccount(InfoSub* ispListener, const boost::unordered_set<Rip
// For the connection, monitor each account.
BOOST_FOREACH(const RippleAddress& naAccountID, vnaAccountIDs)
{
cLog(lsINFO) << boost::str(boost::format("subAccount: account: %d") % naAccountID.humanAccountID());
ispListener->insertSubAccountInfo(naAccountID, uLedgerIndex);
}

View File

@@ -1,4 +1,5 @@
#include "ParseSection.h"
#include "Log.h"
#include "utils.h"
#include <iostream>
@@ -7,6 +8,8 @@
#define SECTION_DEFAULT_NAME ""
SETUP_LOG();
section ParseSection(const std::string& strInput, const bool bTrim)
{
std::string strData(strInput);
@@ -113,6 +116,12 @@ bool sectionSingleB(section& secSource, const std::string& strSection, std::stri
{
strValue = (*pmtEntries)[0];
}
else if (pmtEntries)
{
cLog(lsWARNING) << boost::str(boost::format("Section [%s]: requires 1 line not %d lines.")
% strSection
% pmtEntries->size());
}
return bSingle;
}

View File

@@ -2401,10 +2401,14 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
RPCSub *rspSub = mNetOps->findRpcSub(strUrl);
if (!rspSub)
{
cLog(lsINFO) << boost::str(boost::format("doSubscribe: building: %s") % strUrl);
rspSub = mNetOps->addRpcSub(strUrl, new RPCSub(strUrl, strUsername, strPassword));
}
else
{
cLog(lsINFO) << boost::str(boost::format("doSubscribe: reusing: %s") % strUrl);
if (jvRequest.isMember("username"))
rspSub->setUsername(strUsername);
@@ -2430,7 +2434,6 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
if (streamName=="server")
{
mNetOps->subServer(ispSub, jvResult);
}
else if (streamName=="ledger")
{
@@ -2483,6 +2486,8 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
else
{
mNetOps->subAccount(ispSub, usnaAccoundIds, uLedgerIndex, false);
cLog(lsINFO) << boost::str(boost::format("doSubscribe: accounts: %d") % usnaAccoundIds.size());
}
}

View File

@@ -67,7 +67,7 @@ void RPCSub::sendThread()
// XXX Might not need this in a try.
try
{
cLog(lsDEBUG) << boost::str(boost::format("callRPC calling: %s") % mIp);
cLog(lsINFO) << boost::str(boost::format("callRPC calling: %s") % mIp);
callRPC(
theApp->getIOService(),
@@ -79,7 +79,7 @@ void RPCSub::sendThread()
}
catch (const std::exception& e)
{
cLog(lsDEBUG) << boost::str(boost::format("callRPC exception: %s") % e.what());
cLog(lsINFO) << boost::str(boost::format("callRPC exception: %s") % e.what());
}
}
} while (bSend);
@@ -93,11 +93,11 @@ void RPCSub::send(const Json::Value& jvObj)
{
// Drop the previous event.
cLog(lsDEBUG) << boost::str(boost::format("callRPC drop"));
cLog(lsWARNING) << boost::str(boost::format("callRPC drop"));
mDeque.pop_back();
}
cLog(lsDEBUG) << boost::str(boost::format("callRPC push: %s") % jvObj);
cLog(lsINFO) << boost::str(boost::format("callRPC push: %s") % jvObj);
mDeque.push_back(std::make_pair(mSeq++, jvObj));
@@ -106,7 +106,7 @@ void RPCSub::send(const Json::Value& jvObj)
// Start a sending thread.
mSending = true;
cLog(lsDEBUG) << boost::str(boost::format("callRPC start"));
cLog(lsINFO) << boost::str(boost::format("callRPC start"));
boost::thread(boost::bind(&RPCSub::sendThread, this)).detach();
}
}