Move network classes into xmrig namespace.

This commit is contained in:
XMRig 2019-02-17 06:59:19 +07:00
parent dbdcc14672
commit ee667144e8
42 changed files with 481 additions and 332 deletions

View file

@ -5,7 +5,9 @@
* Copyright 2014-2016 Wolf9466 <https://github.com/OhGodAPet>
* Copyright 2016 Jay D Dee <jayddee246@gmail.com>
* Copyright 2017-2018 XMR-Stak <https://github.com/fireice-uk>, <https://github.com/psychocrypt>
* Copyright 2016-2018 XMRig <https://github.com/xmrig>, <support@xmrig.com>
* Copyright 2018 Lee Clagett <https://github.com/vtnerd>
* Copyright 2018-2019 SChernykh <https://github.com/SChernykh>
* Copyright 2016-2019 XMRig <https://github.com/xmrig>, <support@xmrig.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -32,17 +34,20 @@
#include "common/net/Job.h"
namespace xmrig {
class JobResult
{
public:
inline JobResult() : poolId(0), diff(0), nonce(0) {}
inline JobResult(int poolId, const xmrig::Id &jobId, const xmrig::Id &clientId, uint32_t nonce, const uint8_t *result, uint32_t diff, const xmrig::Algorithm &algorithm) :
poolId(poolId),
diff(diff),
nonce(nonce),
inline JobResult(int poolId, const Id &jobId, const Id &clientId, uint32_t nonce, const uint8_t *result, uint32_t diff, const Algorithm &algorithm) :
algorithm(algorithm),
clientId(clientId),
jobId(jobId)
jobId(jobId),
poolId(poolId),
diff(diff),
nonce(nonce)
{
memcpy(this->result, result, sizeof(this->result));
}
@ -65,13 +70,17 @@ public:
}
Algorithm algorithm;
Id clientId;
Id jobId;
int poolId;
uint32_t diff;
uint32_t nonce;
uint8_t result[32];
xmrig::Algorithm algorithm;
xmrig::Id clientId;
xmrig::Id jobId;
};
} /* namespace xmrig */
#endif /* XMRIG_JOBRESULT_H */

View file

@ -44,12 +44,10 @@
#include "workers/Workers.h"
Network::Network(xmrig::Controller *controller) :
m_donate(nullptr),
m_controller(controller)
xmrig::Network::Network(Controller *controller) :
m_controller(controller),
m_donate(nullptr)
{
srand(time(0) ^ (uintptr_t) this);
Workers::setListener(this);
const std::vector<Pool> &pools = controller->config()->pools();
@ -72,18 +70,18 @@ Network::Network(xmrig::Controller *controller) :
}
Network::~Network()
xmrig::Network::~Network()
{
}
void Network::connect()
void xmrig::Network::connect()
{
m_strategy->connect();
}
void Network::stop()
void xmrig::Network::stop()
{
if (m_donate) {
m_donate->stop();
@ -93,7 +91,7 @@ void Network::stop()
}
void Network::onActive(IStrategy *strategy, Client *client)
void xmrig::Network::onActive(IStrategy *strategy, Client *client)
{
if (m_donate && m_donate == strategy) {
LOG_NOTICE("dev donate started");
@ -114,7 +112,7 @@ void Network::onActive(IStrategy *strategy, Client *client)
}
void Network::onJob(IStrategy *strategy, Client *client, const Job &job)
void xmrig::Network::onJob(IStrategy *strategy, Client *client, const Job &job)
{
if (m_donate && m_donate->isActive() && m_donate != strategy) {
return;
@ -124,7 +122,7 @@ void Network::onJob(IStrategy *strategy, Client *client, const Job &job)
}
void Network::onJobResult(const JobResult &result)
void xmrig::Network::onJobResult(const JobResult &result)
{
if (result.poolId == -1 && m_donate) {
m_donate->submit(result);
@ -135,7 +133,7 @@ void Network::onJobResult(const JobResult &result)
}
void Network::onPause(IStrategy *strategy)
void xmrig::Network::onPause(IStrategy *strategy)
{
if (m_donate && m_donate == strategy) {
LOG_NOTICE("dev donate finished");
@ -150,7 +148,7 @@ void Network::onPause(IStrategy *strategy)
}
void Network::onResultAccepted(IStrategy *strategy, Client *client, const SubmitResult &result, const char *error)
void xmrig::Network::onResultAccepted(IStrategy *strategy, Client *client, const SubmitResult &result, const char *error)
{
m_state.add(result, error);
@ -167,13 +165,13 @@ void Network::onResultAccepted(IStrategy *strategy, Client *client, const Submit
}
bool Network::isColors() const
bool xmrig::Network::isColors() const
{
return m_controller->config()->isColors();
}
void Network::setJob(Client *client, const Job &job, bool donate)
void xmrig::Network::setJob(Client *client, const Job &job, bool donate)
{
if (job.height()) {
LOG_INFO(isColors() ? MAGENTA_BOLD("new job") " from " WHITE_BOLD("%s:%d") " diff " WHITE_BOLD("%d") " algo " WHITE_BOLD("%s") " height " WHITE_BOLD("%" PRIu64)
@ -195,7 +193,7 @@ void Network::setJob(Client *client, const Job &job, bool donate)
}
void Network::tick()
void xmrig::Network::tick()
{
const uint64_t now = uv_now(uv_default_loop());
@ -211,7 +209,7 @@ void Network::tick()
}
void Network::onTick(uv_timer_t *handle)
void xmrig::Network::onTick(uv_timer_t *handle)
{
static_cast<Network*>(handle->data)->tick();
}

View file

@ -35,19 +35,17 @@
#include "interfaces/IJobResultListener.h"
class IStrategy;
class Url;
namespace xmrig {
class Controller;
}
class Controller;
class IStrategy;
class Network : public IJobResultListener, public IStrategyListener
{
public:
Network(xmrig::Controller *controller);
Network(Controller *controller);
~Network() override;
void connect();
@ -69,12 +67,15 @@ private:
static void onTick(uv_timer_t *handle);
Controller *m_controller;
IStrategy *m_donate;
IStrategy *m_strategy;
NetworkState m_state;
uv_timer_t m_timer;
xmrig::Controller *m_controller;
};
} /* namespace xmrig */
#endif /* XMRIG_NETWORK_H */

View file

@ -39,7 +39,7 @@ static inline float randomf(float min, float max) {
}
DonateStrategy::DonateStrategy(int level, const char *user, xmrig::Algo algo, IStrategyListener *listener) :
xmrig::DonateStrategy::DonateStrategy(int level, const char *user, Algo algo, IStrategyListener *listener) :
m_active(false),
m_donateTime(level * 60 * 1000),
m_idleTime((100 - level) * 60 * 1000),
@ -51,7 +51,7 @@ DonateStrategy::DonateStrategy(int level, const char *user, xmrig::Algo algo, IS
uint8_t hash[200];
char userId[65] = { 0 };
xmrig::keccak(reinterpret_cast<const uint8_t *>(user), strlen(user), hash);
keccak(reinterpret_cast<const uint8_t *>(user), strlen(user), hash);
Job::toHex(hash, 32, userId);
# ifndef XMRIG_NO_TLS
@ -61,7 +61,7 @@ DonateStrategy::DonateStrategy(int level, const char *user, xmrig::Algo algo, IS
m_pools.push_back(Pool("donate.v2.xmrig.com", 3333, userId, nullptr, false, true));
for (Pool &pool : m_pools) {
pool.adjust(xmrig::Algorithm(algo, xmrig::VARIANT_AUTO));
pool.adjust(Algorithm(algo, VARIANT_AUTO));
}
if (m_pools.size() > 1) {
@ -78,38 +78,38 @@ DonateStrategy::DonateStrategy(int level, const char *user, xmrig::Algo algo, IS
}
DonateStrategy::~DonateStrategy()
xmrig::DonateStrategy::~DonateStrategy()
{
delete m_strategy;
}
int64_t DonateStrategy::submit(const JobResult &result)
int64_t xmrig::DonateStrategy::submit(const JobResult &result)
{
return m_strategy->submit(result);
}
void DonateStrategy::connect()
void xmrig::DonateStrategy::connect()
{
m_strategy->connect();
}
void DonateStrategy::setAlgo(const xmrig::Algorithm &algo)
void xmrig::DonateStrategy::setAlgo(const xmrig::Algorithm &algo)
{
m_strategy->setAlgo(algo);
}
void DonateStrategy::stop()
void xmrig::DonateStrategy::stop()
{
uv_timer_stop(&m_timer);
m_strategy->stop();
}
void DonateStrategy::tick(uint64_t now)
void xmrig::DonateStrategy::tick(uint64_t now)
{
m_now = now;
@ -122,7 +122,7 @@ void DonateStrategy::tick(uint64_t now)
}
void DonateStrategy::onActive(IStrategy *strategy, Client *client)
void xmrig::DonateStrategy::onActive(IStrategy *strategy, Client *client)
{
if (!isActive()) {
uv_timer_start(&m_timer, DonateStrategy::onTimer, m_donateTime, 0);
@ -133,7 +133,7 @@ void DonateStrategy::onActive(IStrategy *strategy, Client *client)
}
void DonateStrategy::onJob(IStrategy *strategy, Client *client, const Job &job)
void xmrig::DonateStrategy::onJob(IStrategy *strategy, Client *client, const Job &job)
{
if (isActive()) {
m_listener->onJob(this, client, job);
@ -141,24 +141,24 @@ void DonateStrategy::onJob(IStrategy *strategy, Client *client, const Job &job)
}
void DonateStrategy::onPause(IStrategy *strategy)
void xmrig::DonateStrategy::onPause(IStrategy *strategy)
{
}
void DonateStrategy::onResultAccepted(IStrategy *strategy, Client *client, const SubmitResult &result, const char *error)
void xmrig::DonateStrategy::onResultAccepted(IStrategy *strategy, Client *client, const SubmitResult &result, const char *error)
{
m_listener->onResultAccepted(this, client, result, error);
}
void DonateStrategy::idle(uint64_t timeout)
void xmrig::DonateStrategy::idle(uint64_t timeout)
{
uv_timer_start(&m_timer, DonateStrategy::onTimer, timeout, 0);
}
void DonateStrategy::suspend()
void xmrig::DonateStrategy::suspend()
{
# if defined(XMRIG_AMD_PROJECT) || defined(XMRIG_NVIDIA_PROJECT)
m_stop = m_now + 5000;
@ -173,7 +173,7 @@ void DonateStrategy::suspend()
}
void DonateStrategy::onTimer(uv_timer_t *handle)
void xmrig::DonateStrategy::onTimer(uv_timer_t *handle)
{
auto strategy = static_cast<DonateStrategy*>(handle->data);

View file

@ -36,15 +36,17 @@
#include "common/interfaces/IStrategyListener.h"
namespace xmrig {
class Client;
class IStrategyListener;
class Url;
class DonateStrategy : public IStrategy, public IStrategyListener
{
public:
DonateStrategy(int level, const char *user, xmrig::Algo algo, IStrategyListener *listener);
DonateStrategy(int level, const char *user, Algo algo, IStrategyListener *listener);
~DonateStrategy() override;
public:
@ -53,7 +55,7 @@ public:
int64_t submit(const JobResult &result) override;
void connect() override;
void setAlgo(const xmrig::Algorithm &algo) override;
void setAlgo(const Algorithm &algo) override;
void stop() override;
void tick(uint64_t now) override;
@ -80,4 +82,8 @@ private:
uv_timer_t m_timer;
};
} /* namespace xmrig */
#endif /* XMRIG_DONATESTRATEGY_H */