Fix network state reporting in server and client.

This commit is contained in:
Arthur Britto
2012-12-14 16:34:11 -08:00
parent 5b60c73489
commit f93dc7a7b4
4 changed files with 40 additions and 28 deletions

View File

@@ -2101,21 +2101,24 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
if(streamName=="server")
{
mNetOps->subServer(mInfoSub, jvResult);
jvResult["server_status"] = mNetOps->available() ? "ok" : "noNetwork";
}else if(streamName=="ledger")
jvResult["server_status"] = mNetOps->strOperatingMode();
} else if(streamName=="ledger")
{
mNetOps->subLedger(mInfoSub, jvResult);
}else if(streamName=="transactions")
} else if(streamName=="transactions")
{
mNetOps->subTransactions(mInfoSub);
}else if(streamName=="rt_transactions")
} else if(streamName=="rt_transactions")
{
mNetOps->subRTTransactions(mInfoSub);
}else
{
}
else {
jvResult["error"] = str(boost::format("Unknown stream: %s") % streamName);
}
}else
} else
{
jvResult["error"] = "malformedSteam";
}
@@ -2362,7 +2365,9 @@ Json::Value RPCHandler::doCommand(Json::Value& jvRequest, int iRole)
{
return rpcError(rpcNO_EVENTS);
}
else if ((commandsA[i].iOptions & optNetwork) && !mNetOps->available())
else if (commandsA[i].iOptions & optNetwork
&& mNetOps->getOperatingMode() != NetworkOPs::omTRACKING
&& mNetOps->getOperatingMode() != NetworkOPs::omFULL)
{
return rpcError(rpcNO_NETWORK);
}