Added reader for advanced threads.

This commit is contained in:
XMRig 2018-04-13 17:59:27 +07:00
parent 9ce9147dad
commit c44b299750
5 changed files with 101 additions and 18 deletions

View file

@ -32,6 +32,7 @@
#include "common/config/CommonConfig.h"
#include "common/xmrig.h"
#include "rapidjson/fwd.h"
#include "workers/CpuThread.h"
class Addr;
@ -67,15 +68,16 @@ public:
void getJSON(rapidjson::Document &doc) const override;
inline AesMode aesMode() const { return m_aesMode; }
inline AlgoVariant algoVariant() const { return m_algoVariant; }
inline bool isDoubleHash() const { return m_doubleHash; }
inline bool isDryRun() const { return m_dryRun; }
inline bool isHugePages() const { return m_hugePages; }
inline const std::vector<IThread *> &threads() const { return m_threads; }
inline const std::vector<IThread *> &threads() const { return m_threads.list; }
inline int printTime() const { return m_printTime; }
inline int priority() const { return m_priority; }
inline int threadsCount() const { return m_threadsCount; }
inline int64_t affinity() const { return m_affinity; }
inline int threadsCount() const { return m_threads.count; }
inline int64_t affinity() const { return m_threads.mask; }
static Config *load(int argc, char **argv, IWatcherListener *listener);
@ -94,6 +96,19 @@ private:
AlgoVariant getAlgoVariantLite() const;
# endif
struct Threads
{
inline Threads() : mask(-1L), count(0) {}
int64_t mask;
size_t count;
std::vector<CpuThread::Data> cpu;
std::vector<IThread *> list;
};
AesMode m_aesMode;
AlgoVariant m_algoVariant;
bool m_doubleHash;
bool m_dryRun;
@ -102,9 +117,7 @@ private:
int m_maxCpuUsage;
int m_printTime;
int m_priority;
int64_t m_affinity;
size_t m_threadsCount;
std::vector<IThread *> m_threads;
Threads m_threads;
};