Added support for threads restart if config changed.
This commit is contained in:
parent
871bc3e180
commit
f590cf58fb
12 changed files with 105 additions and 62 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue