Added benchmark support
This commit is contained in:
parent
9660dfc7b3
commit
e6f199e4f4
18 changed files with 309 additions and 22 deletions
|
@ -131,6 +131,9 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
|
|||
m_logFile = reader.getString("log-file");
|
||||
m_userAgent = reader.getString("user-agent");
|
||||
|
||||
m_rebenchAlgo = reader.getBool("rebench-algo", m_rebenchAlgo);
|
||||
m_benchAlgoTime = reader.getInt("bench-algo-time", m_benchAlgoTime);
|
||||
|
||||
setPrintTime(reader.getUint("print-time", 60));
|
||||
|
||||
const rapidjson::Value &api = reader.getObject("api");
|
||||
|
|
|
@ -57,6 +57,9 @@ public:
|
|||
inline const String &apiWorkerId() const { return m_apiWorkerId; }
|
||||
inline uint32_t printTime() const { return m_printTime; }
|
||||
|
||||
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
|
||||
inline int benchAlgoTime() const { return m_benchAlgoTime; }
|
||||
|
||||
inline bool isWatch() const override { return m_watch && !m_fileName.isNull(); }
|
||||
inline const String &fileName() const override { return m_fileName; }
|
||||
inline void setFileName(const char *fileName) override { m_fileName = fileName; }
|
||||
|
@ -82,6 +85,9 @@ protected:
|
|||
String m_userAgent;
|
||||
uint32_t m_printTime;
|
||||
|
||||
bool m_rebenchAlgo = false;
|
||||
int m_benchAlgoTime = 10;
|
||||
|
||||
private:
|
||||
inline void setPrintTime(uint32_t printTime) { if (printTime <= 3600) { m_printTime = printTime; } }
|
||||
};
|
||||
|
|
|
@ -176,6 +176,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
|
|||
case IConfig::HttpPort: /* --http-port */
|
||||
case IConfig::DonateLevelKey: /* --donate-level */
|
||||
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
|
||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||
return transformUint64(doc, key, static_cast<uint64_t>(strtol(arg, nullptr, 10)));
|
||||
|
||||
case IConfig::BackgroundKey: /* --background */
|
||||
|
@ -186,6 +187,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
|
|||
case IConfig::DryRunKey: /* --dry-run */
|
||||
case IConfig::HttpEnabledKey: /* --http-enabled */
|
||||
case IConfig::DaemonKey: /* --daemon */
|
||||
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
||||
return transformBoolean(doc, key, true);
|
||||
|
||||
case IConfig::ColorKey: /* --no-color */
|
||||
|
@ -233,6 +235,9 @@ void xmrig::BaseTransform::transformBoolean(rapidjson::Document &doc, int key, b
|
|||
case IConfig::DryRunKey: /* --dry-run */
|
||||
return set(doc, "dry-run", enable);
|
||||
|
||||
case IConfig::RebenchAlgoKey: /* --rebench-algo */
|
||||
return set(doc, "rebench-algo", enable);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -263,6 +268,9 @@ void xmrig::BaseTransform::transformUint64(rapidjson::Document &doc, int key, ui
|
|||
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
|
||||
return add(doc, kPools, "daemon-poll-interval", arg);
|
||||
|
||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||
return set(doc, "bench-algo-time", arg);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -77,6 +77,9 @@ public:
|
|||
NicehashKey = 1006,
|
||||
PrintTimeKey = 1007,
|
||||
|
||||
RebenchAlgoKey = 10001,
|
||||
BenchAlgoTimeKey = 10002,
|
||||
|
||||
// xmrig cpu
|
||||
AVKey = 'v',
|
||||
CPUAffinityKey = 1020,
|
||||
|
|
|
@ -113,6 +113,7 @@ void xmrig::Pools::load(const IJsonReader &reader)
|
|||
return;
|
||||
}
|
||||
|
||||
bool mo = false;
|
||||
for (const rapidjson::Value &value : pools.GetArray()) {
|
||||
if (!value.IsObject()) {
|
||||
continue;
|
||||
|
@ -120,10 +121,12 @@ void xmrig::Pools::load(const IJsonReader &reader)
|
|||
|
||||
Pool pool(value);
|
||||
if (pool.isValid()) {
|
||||
if (m_data.empty() && strstr(pool.host(), "moneroocean.stream")) mo = true;
|
||||
m_data.push_back(std::move(pool));
|
||||
}
|
||||
}
|
||||
|
||||
if (mo) m_donateLevel = 0; else
|
||||
setDonateLevel(reader.getInt("donate-level", kDefaultDonateLevel));
|
||||
setProxyDonate(reader.getInt("donate-over-proxy", PROXY_DONATE_AUTO));
|
||||
setRetries(reader.getInt("retries"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue