Added RPC commands getsievepercentage, setsievepercentage, getgensieveroundpercentage and setgensieveroundpercentage.

master
mikaelh 2013-07-26 00:14:01 +03:00
parent 41a127a518
commit eb2402ac05
3 changed files with 66 additions and 3 deletions

View File

@ -210,6 +210,10 @@ static const CRPCCommand vRPCCommands[] =
{ "getdifficulty", &getdifficulty, true, false },
{ "getgenerate", &getgenerate, true, false },
{ "setgenerate", &setgenerate, true, false },
{ "getsievepercentage", &getsievepercentage, true, false },
{ "setsievepercentage", &setsievepercentage, true, false },
{ "getgensieveroundpercentage",&getgensieveroundpercentage,true,false },
{ "setgensieveroundpercentage",&setgensieveroundpercentage,true,false },
{ "getprimespersec", &getprimespersec, true, false },
{ "getchainspermin", &getchainspermin, true, false },
{ "getinfo", &getinfo, true, false },
@ -1152,6 +1156,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector<std::stri
if (strMethod == "getaddednodeinfo" && n > 0) ConvertTo<bool>(params[0]);
if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]);
if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]);
if (strMethod == "setsievepercentage" && n > 0) ConvertTo<boost::int64_t>(params[0]);
if (strMethod == "setgensieveroundpercentage" && n > 0) ConvertTo<boost::int64_t>(params[0]);
if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]);
if (strMethod == "settxfee" && n > 0) ConvertTo<double>(params[0]);
if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo<boost::int64_t>(params[1]);

View File

@ -149,6 +149,10 @@ extern json_spirit::Value importprivkey(const json_spirit::Array& params, bool f
extern json_spirit::Value getgenerate(const json_spirit::Array& params, bool fHelp); // in rpcmining.cpp
extern json_spirit::Value setgenerate(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getsievepercentage(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value setsievepercentage(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getgensieveroundpercentage(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value setgensieveroundpercentage(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getprimespersec(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getchainspermin(const json_spirit::Array& params, bool fHelp);
extern json_spirit::Value getmininginfo(const json_spirit::Array& params, bool fHelp);

View File

@ -8,6 +8,7 @@
#include "db.h"
#include "init.h"
#include "bitcoinrpc.h"
#include "prime.h"
using namespace json_spirit;
using namespace std;
@ -49,6 +50,61 @@ Value setgenerate(const Array& params, bool fHelp)
}
Value getsievepercentage(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getsievepercentage\n"
"Returns the current sieve percentage used by the mining algorithm.");
return (boost::int64_t)nSievePercentage;
}
Value setsievepercentage(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1)
throw runtime_error(
"setsievepercentage <sievepercentage>\n"
"<sievepercentage> determines how many rounds the candidate multiplier sieve runs.");
unsigned int nPercentage = nDefaultSievePercentage;
if (params.size() > 0)
nPercentage = params[0].get_int();
nSievePercentage = nPercentage;
return Value::null;
}
Value getgensieveroundpercentage(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getgensieveroundpercentage\n"
"Returns the current sieve generation time percentage used by the mining algorithm.");
return (boost::int64_t)nGenSieveRoundPercentage;
}
Value setgensieveroundpercentage(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1)
throw runtime_error(
"setgensieveroundpercentage <gensieveroundpercentage>\n"
"<gensieveroundpercentage> determines much time should be spent generating the sieve of candidate multipliers.\n"
"The round primorial is dynamically adjusted based on this value.");
unsigned int nPercentage = nDefaultGenSieveRoundPercentage;
if (params.size() > 0)
nPercentage = params[0].get_int();
nGenSieveRoundPercentage = nPercentage;
return Value::null;
}
Value getprimespersec(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
@ -72,9 +128,6 @@ Value getchainspermin(const Array& params, bool fHelp)
extern Value getdifficulty(const Array& params, bool fHelp);
extern unsigned int nSieveSize;
extern unsigned int nSievePercentage;
extern unsigned int nGenSieveRoundPercentage;
Value getmininginfo(const Array& params, bool fHelp)