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

@ -6,7 +6,7 @@
* Copyright 2016 Jay D Dee <jayddee246@gmail.com>
* Copyright 2017-2018 XMR-Stak <https://github.com/fireice-uk>, <https://github.com/psychocrypt>
* Copyright 2018 Lee Clagett <https://github.com/vtnerd>
* Copyright 2018 SChernykh <https://github.com/SChernykh>
* 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
@ -132,7 +132,7 @@ void MultiWorker<N>::start()
for (size_t i = 0; i < N; ++i) {
if (*reinterpret_cast<uint64_t*>(m_hash + (i * 32) + 24) < m_state.job.target()) {
Workers::submit(JobResult(m_state.job.poolId(), m_state.job.id(), m_state.job.clientId(), *nonce(i), m_hash + (i * 32), m_state.job.diff(), m_state.job.algorithm()));
Workers::submit(xmrig::JobResult(m_state.job.poolId(), m_state.job.id(), m_state.job.clientId(), *nonce(i), m_hash + (i * 32), m_state.job.diff(), m_state.job.algorithm()));
}
*nonce(i) += 1;
@ -149,7 +149,7 @@ void MultiWorker<N>::start()
template<size_t N>
bool MultiWorker<N>::resume(const Job &job)
bool MultiWorker<N>::resume(const xmrig::Job &job)
{
if (m_state.job.poolId() == -1 && job.poolId() >= 0 && job.id() == m_pausedState.job.id()) {
m_state = m_pausedState;
@ -237,7 +237,7 @@ bool MultiWorker<N>::verify2(xmrig::Variant variant, const char *test_data)
template<size_t N>
void MultiWorker<N>::consumeJob()
{
Job job = Workers::job();
xmrig::Job job = Workers::job();
m_sequence = Workers::sequence();
if (m_state.job == job) {
return;
@ -272,7 +272,7 @@ void MultiWorker<N>::consumeJob()
template<size_t N>
void MultiWorker<N>::save(const Job &job)
void MultiWorker<N>::save(const xmrig::Job &job)
{
if (job.poolId() == -1 && m_state.job.poolId() >= 0) {
m_pausedState = m_state;

View file

@ -48,11 +48,11 @@ protected:
void start() override;
private:
bool resume(const Job &job);
bool resume(const xmrig::Job &job);
bool verify(xmrig::Variant variant, const uint8_t *referenceValue);
bool verify2(xmrig::Variant variant, const char *test_data);
void consumeJob();
void save(const Job &job);
void save(const xmrig::Job &job);
inline uint32_t *nonce(size_t index)
{
@ -61,8 +61,8 @@ private:
struct State
{
alignas(16) uint8_t blob[Job::kMaxBlobSize * N];
Job job;
alignas(16) uint8_t blob[xmrig::Job::kMaxBlobSize * N];
xmrig::Job job;
};

View file

@ -45,12 +45,12 @@
bool Workers::m_active = false;
bool Workers::m_enabled = true;
Hashrate *Workers::m_hashrate = nullptr;
IJobResultListener *Workers::m_listener = nullptr;
Job Workers::m_job;
xmrig::IJobResultListener *Workers::m_listener = nullptr;
xmrig::Job Workers::m_job;
Workers::LaunchStatus Workers::m_status;
std::atomic<int> Workers::m_paused;
std::atomic<uint64_t> Workers::m_sequence;
std::list<JobResult> Workers::m_queue;
std::list<xmrig::JobResult> Workers::m_queue;
std::vector<Handle*> Workers::m_workers;
uint64_t Workers::m_ticks = 0;
uv_async_t Workers::m_async;
@ -60,10 +60,10 @@ uv_timer_t Workers::m_timer;
xmrig::Controller *Workers::m_controller = nullptr;
Job Workers::job()
xmrig::Job Workers::job()
{
uv_rwlock_rdlock(&m_rwlock);
Job job = m_job;
xmrig::Job job = m_job;
uv_rwlock_rdunlock(&m_rwlock);
return job;
@ -139,7 +139,7 @@ void Workers::setEnabled(bool enabled)
}
void Workers::setJob(const Job &job, bool donate)
void Workers::setJob(const xmrig::Job &job, bool donate)
{
uv_rwlock_wrlock(&m_rwlock);
m_job = job;
@ -225,7 +225,7 @@ void Workers::stop()
}
void Workers::submit(const JobResult &result)
void Workers::submit(const xmrig::JobResult &result)
{
uv_mutex_lock(&m_mutex);
m_queue.push_back(result);
@ -300,7 +300,7 @@ void Workers::onReady(void *arg)
void Workers::onResult(uv_async_t *handle)
{
std::list<JobResult> results;
std::list<xmrig::JobResult> results;
uv_mutex_lock(&m_mutex);
while (!m_queue.empty()) {

View file

@ -38,35 +38,35 @@
class Handle;
class Hashrate;
class IJobResultListener;
class IWorker;
namespace xmrig {
class Controller;
class IJobResultListener;
}
class Workers
{
public:
static Job job();
static xmrig::Job job();
static size_t hugePages();
static size_t threads();
static void printHashrate(bool detail);
static void setEnabled(bool enabled);
static void setJob(const Job &job, bool donate);
static void setJob(const xmrig::Job &job, bool donate);
static void start(xmrig::Controller *controller);
static void stop();
static void submit(const JobResult &result);
static void submit(const xmrig::JobResult &result);
static inline bool isEnabled() { return m_enabled; }
static inline bool isOutdated(uint64_t sequence) { return m_sequence.load(std::memory_order_relaxed) != sequence; }
static inline bool isPaused() { return m_paused.load(std::memory_order_relaxed) == 1; }
static inline Hashrate *hashrate() { return m_hashrate; }
static inline uint64_t sequence() { return m_sequence.load(std::memory_order_relaxed); }
static inline void pause() { m_active = false; m_paused = 1; m_sequence++; }
static inline void setListener(IJobResultListener *listener) { m_listener = listener; }
static inline bool isEnabled() { return m_enabled; }
static inline bool isOutdated(uint64_t sequence) { return m_sequence.load(std::memory_order_relaxed) != sequence; }
static inline bool isPaused() { return m_paused.load(std::memory_order_relaxed) == 1; }
static inline Hashrate *hashrate() { return m_hashrate; }
static inline uint64_t sequence() { return m_sequence.load(std::memory_order_relaxed); }
static inline void pause() { m_active = false; m_paused = 1; m_sequence++; }
static inline void setListener(xmrig::IJobResultListener *listener) { m_listener = listener; }
# ifndef XMRIG_NO_API
static void threadsSummary(rapidjson::Document &doc);
@ -103,12 +103,12 @@ private:
static bool m_active;
static bool m_enabled;
static Hashrate *m_hashrate;
static IJobResultListener *m_listener;
static Job m_job;
static xmrig::IJobResultListener *m_listener;
static xmrig::Job m_job;
static LaunchStatus m_status;
static std::atomic<int> m_paused;
static std::atomic<uint64_t> m_sequence;
static std::list<JobResult> m_queue;
static std::list<xmrig::JobResult> m_queue;
static std::vector<Handle*> m_workers;
static uint64_t m_ticks;
static uv_async_t m_async;