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

This commit is contained in:
JoelKatz
2012-09-26 14:22:38 -07:00
5 changed files with 128 additions and 8 deletions

View File

@@ -67,6 +67,11 @@ void NetworkOPs::closeTimeOffset(int offset)
Log(lsINFO) << "Close time offset now " << mCloseTimeOffset;
}
uint32 NetworkOPs::getLedgerID(const uint256& hash)
{
return mLedgerMaster->getLedgerByHash(hash)->getLedgerSeq();
}
uint32 NetworkOPs::getCurrentLedgerID()
{
return mLedgerMaster->getCurrentLedger()->getLedgerSeq();

View File

@@ -96,6 +96,7 @@ public:
uint32 getValidationTimeNC();
void closeTimeOffset(int);
boost::posix_time::ptime getNetworkTimePT();
uint32 getLedgerID(const uint256& hash);
uint32 getCurrentLedgerID();
OperatingMode getOperatingMode() { return mMode; }
inline bool available() {

View File

@@ -76,7 +76,9 @@ public:
boost::unordered_set<NewcoinAddress> parseAccountIds(const Json::Value& jvArray);
// Request-Response Commands
void doLedgerClosed(Json::Value& jvResult, const Json::Value& jvRequest);
void doLedgerCurrent(Json::Value& jvResult, const Json::Value& jvRequest);
void doLedgerEntry(Json::Value& jvResult, const Json::Value& jvRequest);
// Streaming Commands
void doAccountInfoSubscribe(Json::Value& jvResult, const Json::Value& jvRequest);
@@ -297,7 +299,9 @@ Json::Value WSConnection::invokeCommand(const Json::Value& jvRequest)
doFuncPtr dfpFunc;
} commandsA[] = {
// Request-Response Commands:
{ "ledger_current", &WSConnection::doLedgerCurrent },
{ "ledger_closed", &WSConnection::doLedgerClosed },
{ "ledger_current", &WSConnection::doLedgerCurrent },
{ "ledger_entry", &WSConnection::doLedgerEntry },
// Streaming commands:
{ "account_info_subscribe", &WSConnection::doAccountInfoSubscribe },
@@ -548,9 +552,55 @@ void WSConnection::doLedgerAccountsUnsubscribe(Json::Value& jvResult, const Json
}
}
void WSConnection::doLedgerClosed(Json::Value& jvResult, const Json::Value& jvRequest)
{
uint256 uLedger = theApp->getOPs().getClosedLedger();
jvResult["ledger_index"] = theApp->getOPs().getLedgerID(uLedger);
jvResult["ledger"] = uLedger.ToString();
}
void WSConnection::doLedgerCurrent(Json::Value& jvResult, const Json::Value& jvRequest)
{
jvResult["ledger"] = theApp->getOPs().getCurrentLedgerID();
jvResult["ledger_index"] = theApp->getOPs().getCurrentLedgerID();
}
void WSConnection::doLedgerEntry(Json::Value& jvResult, const Json::Value& jvRequest)
{
// Get from request.
uint256 uLedger;
jvResult["ledger_index"] = theApp->getOPs().getLedgerID(uLedger);
jvResult["ledger"] = uLedger.ToString();
if (jvRequest.isMember("index"))
{
jvResult["error"] = "notImplemented";
}
else if (jvRequest.isMember("account_root"))
{
jvResult["error"] = "notImplemented";
}
else if (jvRequest.isMember("directory"))
{
jvResult["error"] = "notImplemented";
}
else if (jvRequest.isMember("generator"))
{
jvResult["error"] = "notImplemented";
}
else if (jvRequest.isMember("offer"))
{
jvResult["error"] = "notImplemented";
}
else if (jvRequest.isMember("ripple_state"))
{
jvResult["error"] = "notImplemented";
}
else
{
jvResult["error"] = "unknownOption";
}
}
void WSConnection::doTransactionSubcribe(Json::Value& jvResult, const Json::Value& jvRequest)