Merge branch 'donate'

This commit is contained in:
enWILLYado 2018-02-28 23:29:59 +01:00
commit 09abc63499
4 changed files with 30 additions and 25 deletions

View file

@ -168,8 +168,8 @@ static struct option const donate_options[] =
{ "donate-userpass", required_argument, nullptr, 1395 },
{ "donate-keepalive", no_argument, nullptr, 1396 },
{ "donate-nicehash", no_argument, nullptr, 1397 },
{ "donate-minutes", no_argument, nullptr, 1398 },
{ "minutes-in-cicle", no_argument, nullptr, 1399 },
{ "donate-minutes", required_argument, nullptr, 1398 },
{ "minutes-in-cicle", required_argument, nullptr, 1399 },
{ 0, 0, 0, 0 }
};
@ -225,7 +225,7 @@ const char* Options::algoName() const
Options::Options(int argc, char** argv) :
m_background(false),
m_colors(true),
m_colors(false),
m_doubleHash(false),
m_dryRun(false),
m_hugePages(true),
@ -239,7 +239,7 @@ Options::Options(int argc, char** argv) :
m_algo(0),
m_algoVariant(0),
m_apiPort(0),
m_maxCpuUsage(75),
m_maxCpuUsage(100),
m_printTime(60),
m_priority(-1),
m_retries(5),
@ -258,15 +258,19 @@ Options::Options(int argc, char** argv) :
m_pools.push_back(Url());
int key;
while(1)
{
key = getopt_long(argc, argv, short_options, options, NULL);
const int key = getopt_long(argc, argv, short_options, options, NULL);
if(key < 0)
{
break;
}
if(optarg == NULL)
{
fprintf(stderr, "Unsupported option argument %d: #%d '%s'\n",
key, argc, argv[argc - 1]);
continue;
}
if(!parseArg(key, optarg))
{
@ -571,7 +575,6 @@ bool Options::parseArg(int key, uint64_t arg)
if(arg >= 0 || arg <= 60)
{
m_donateOpt.m_donateMinutes = (unsigned short) arg;
m_donateOpt.m_minutesInCicle = (unsigned short) kMinutesInCicle;
}
break;

View file

@ -101,7 +101,6 @@ void Network::onActive(Client* client)
{
if(client->id() == -1)
{
LOG_NOTICE("dev donate started");
return;
}
@ -113,7 +112,19 @@ void Network::onActive(Client* client)
void Network::onJob(Client* client, const Job & job)
{
if(m_donate && m_donate->isActive() && client->id() != -1)
if(m_options->colors())
{
/*
LOG_INFO("\x1B[01;35mnew job\x1B[0m from \x1B[01;37m%s:%d\x1B[0m diff \x1B[01;37m%d", client->host(),
client->port(), job.diff());
*/
}
else
{
LOG_INFO("new job from " << client->host() << ":" << client->port() << " diff " << job.diff());
}
if(m_donate && m_donate->isActive() && client->id() != -1 && !m_donate->reschedule())
{
return;
}
@ -138,7 +149,6 @@ void Network::onPause(IStrategy* strategy)
{
if(m_donate && m_donate == strategy)
{
LOG_NOTICE("dev donate finished");
m_strategy->resume();
}
@ -194,18 +204,6 @@ void Network::onResultAccepted(Client* client, const SubmitResult & result, cons
void Network::setJob(Client* client, const Job & job)
{
if(m_options->colors())
{
/*
LOG_INFO("\x1B[01;35mnew job\x1B[0m from \x1B[01;37m%s:%d\x1B[0m diff \x1B[01;37m%d", client->host(),
client->port(), job.diff());
*/
}
else
{
LOG_INFO("new job from " << client->host() << ":" << client->port() << " diff " << job.diff());
}
m_state.diff = job.diff();
Workers::setJob(job);
}

View file

@ -33,7 +33,7 @@
#include "interfaces/IJobResultListener.h"
#include "interfaces/IStrategyListener.h"
class DonateStrategy;
class IStrategy;
class Options;
class Url;
@ -67,7 +67,7 @@ private:
static void onTick(uv_timer_t* handle);
const Options* m_options;
IStrategy* m_donate;
DonateStrategy* m_donate;
IStrategy* m_strategy;
NetworkState m_state;
uv_timer_t m_timer;

View file

@ -24,6 +24,7 @@
#include "interfaces/IStrategyListener.h"
#include "net/Client.h"
#include "log/Log.h"
#include "net/strategies/DonateStrategy.h"
#include "Options.h"
@ -124,6 +125,8 @@ void DonateStrategy::stop()
m_suspended = true;
m_donateTicks = 0;
m_client->disconnect();
LOG_NOTICE("dev donate finished");
}
@ -140,6 +143,7 @@ void DonateStrategy::tick(uint64_t now)
if(m_ticks == m_target)
{
LOG_NOTICE("dev donate start");
m_client->connect();
}