mirror of
https://github.com/xmrig/xmrig.git
synced 2026-01-23 14:52:52 -05:00
Added support for threads restart if config changed.
This commit is contained in:
@@ -78,13 +78,6 @@ const xmrig::Hashrate *xmrig::Workers<T>::hashrate() const
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
void xmrig::Workers<T>::add(const T &data)
|
||||
{
|
||||
m_workers.push_back(new Thread<T>(d_ptr->backend, m_workers.size(), data));
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
void xmrig::Workers<T>::setBackend(IBackend *backend)
|
||||
{
|
||||
@@ -93,8 +86,12 @@ void xmrig::Workers<T>::setBackend(IBackend *backend)
|
||||
|
||||
|
||||
template<class T>
|
||||
void xmrig::Workers<T>::start()
|
||||
void xmrig::Workers<T>::start(const std::vector<T> &data)
|
||||
{
|
||||
for (const T &item : data) {
|
||||
m_workers.push_back(new Thread<T>(d_ptr->backend, m_workers.size(), item));
|
||||
}
|
||||
|
||||
d_ptr->hashrate = new Hashrate(m_workers.size());
|
||||
|
||||
for (Thread<T> *worker : m_workers) {
|
||||
|
||||
@@ -46,9 +46,8 @@ public:
|
||||
~Workers();
|
||||
|
||||
const Hashrate *hashrate() const;
|
||||
void add(const T &data);
|
||||
void setBackend(IBackend *backend);
|
||||
void start();
|
||||
void start(const std::vector<T> &data);
|
||||
void stop();
|
||||
void tick(uint64_t ticks);
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
namespace xmrig {
|
||||
|
||||
|
||||
class Algorithm;
|
||||
class Hashrate;
|
||||
class IWorker;
|
||||
class Job;
|
||||
@@ -43,13 +44,14 @@ class IBackend
|
||||
public:
|
||||
virtual ~IBackend() = default;
|
||||
|
||||
virtual const Hashrate *hashrate() const = 0;
|
||||
virtual const String &profileName() const = 0;
|
||||
virtual void printHashrate(bool details) = 0;
|
||||
virtual void setJob(const Job &job) = 0;
|
||||
virtual void start(IWorker *worker) = 0;
|
||||
virtual void stop() = 0;
|
||||
virtual void tick(uint64_t ticks) = 0;
|
||||
virtual bool isEnabled(const Algorithm &algorithm) const = 0;
|
||||
virtual const Hashrate *hashrate() const = 0;
|
||||
virtual const String &profileName() const = 0;
|
||||
virtual void printHashrate(bool details) = 0;
|
||||
virtual void setJob(const Job &job) = 0;
|
||||
virtual void start(IWorker *worker) = 0;
|
||||
virtual void stop() = 0;
|
||||
virtual void tick(uint64_t ticks) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user