summaryrefslogtreecommitdiffstats
path: root/executor.cpp
diff options
context:
space:
mode:
authorpsychocrypt <psychocrypt@users.noreply.github.com>2017-09-24 20:07:34 +0200
committerpsychocrypt <psychocrypt@users.noreply.github.com>2017-09-30 23:46:08 +0200
commit7d88cf456b70268336970ff584ea0c22deac8bfa (patch)
tree4995f14b6e7f8a0d2f41f023c1f9a6fa88d47f56 /executor.cpp
parent652b79f6845dc8ec823ebe56ba11d39bd861734c (diff)
downloadxmr-stak-7d88cf456b70268336970ff584ea0c22deac8bfa.zip
xmr-stak-7d88cf456b70268336970ff584ea0c22deac8bfa.tar.gz
update rot files
- add config file editor - move telemetry out of minethd
Diffstat (limited to 'executor.cpp')
-rw-r--r--executor.cpp47
1 files changed, 32 insertions, 15 deletions
diff --git a/executor.cpp b/executor.cpp
index 948b156..99f7ad5 100644
--- a/executor.cpp
+++ b/executor.cpp
@@ -29,7 +29,12 @@
#include <time.h>
#include "executor.h"
#include "jpsock.h"
-#include "minethd.h"
+
+#include "telemetry.h"
+#include "backend/miner_work.h"
+#include "backend/GlobalStates.hpp"
+#include "backend/BackendConnector.hpp"
+
#include "jconf.h"
#include "console.h"
#include "donate-level.h"
@@ -116,8 +121,8 @@ void executor::sched_reconnect()
printer::inst()->print_msg(L1, "Pool connection lost. Waiting %lld s before retry (attempt %llu).",
rt, int_port(iReconnectAttempts));
- auto work = minethd::miner_work();
- minethd::switch_work(work);
+ auto work = xmrstak::miner_work();
+ xmrstak::GlobalStates::switch_work(work);
push_timed_event(ex_event(EV_RECONNECT, usr_pool_id), rt);
}
@@ -229,12 +234,13 @@ void executor::on_pool_have_job(size_t pool_id, pool_job& oPoolJob)
jpsock* pool = pick_pool_by_id(pool_id);
- minethd::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob,
+ xmrstak::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob,
oPoolJob.iWorkLen, oPoolJob.iResumeCnt, oPoolJob.iTarget,
- pool_id != dev_pool_id && jconf::inst()->NiceHashMode(),
pool_id);
- minethd::switch_work(oWork);
+ oWork.iTarget32 = oPoolJob.iTarget32;
+
+ xmrstak::GlobalStates::switch_work(oWork);
if(pool_id == dev_pool_id)
return;
@@ -350,11 +356,13 @@ void executor::on_switch_pool(size_t pool_id)
return;
}
- minethd::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob,
+ xmrstak::miner_work oWork(oPoolJob.sJobID, oPoolJob.bWorkBlob,
oPoolJob.iWorkLen, oPoolJob.iResumeCnt, oPoolJob.iTarget,
- jconf::inst()->NiceHashMode(), pool_id);
+ pool_id);
+
+ oWork.iTarget32 = oPoolJob.iTarget32;
- minethd::switch_work(oWork);
+ xmrstak::GlobalStates::switch_work(oWork);
if(dev_pool->is_running())
push_timed_event(ex_event(EV_DEV_POOL_EXIT), 5);
@@ -365,9 +373,18 @@ void executor::ex_main()
{
assert(1000 % iTickTime == 0);
- minethd::miner_work oWork = minethd::miner_work();
- pvThreads = minethd::thread_starter(oWork);
- telem = new telemetry(pvThreads->size());
+ xmrstak::miner_work oWork = xmrstak::miner_work();
+
+ // \todo collect all backend threads
+ pvThreads = xmrstak::BackendConnector::thread_starter(oWork);
+
+ if(pvThreads->size()==0)
+ {
+ printer::inst()->print_msg(L1, "ERROR: No miner backend enabled.");
+ win_exit();
+ }
+
+ telem = new xmrstak::telemetry(pvThreads->size());
current_pool_id = usr_pool_id;
usr_pool = new jpsock(usr_pool_id, jconf::inst()->GetTlsSetting());
@@ -499,9 +516,9 @@ void executor::hashrate_report(std::string& out)
size_t i;
out.append("HASHRATE REPORT\n");
- out.append("| ID | 2.5s | 60s | 15m |");
+ out.append("| ID | 10s | 60s | 15m |");
if(nthd != 1)
- out.append(" ID | 2.5s | 60s | 15m |\n");
+ out.append(" ID | 10s | 60s | 15m |\n");
else
out.append(1, '\n');
@@ -509,7 +526,7 @@ void executor::hashrate_report(std::string& out)
{
double fHps[3];
- fHps[0] = telem->calc_telemetry_data(2500, i);
+ fHps[0] = telem->calc_telemetry_data(10000, i);
fHps[1] = telem->calc_telemetry_data(60000, i);
fHps[2] = telem->calc_telemetry_data(900000, i);
OpenPOWER on IntegriCloud