diff --git a/src/base/net/stratum/Pools.cpp b/src/base/net/stratum/Pools.cpp index a9c245fa..d2ab3012 100644 --- a/src/base/net/stratum/Pools.cpp +++ b/src/base/net/stratum/Pools.cpp @@ -5,8 +5,8 @@ * Copyright 2014-2016 Wolf9466 * Copyright 2016 Jay D Dee * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , + * Copyright 2018-2021 SChernykh + * Copyright 2016-2021 XMRig , * * 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 @@ -134,7 +134,7 @@ void xmrig::Pools::load(const IJsonReader &reader) m_data.clear(); # ifdef XMRIG_FEATURE_BENCHMARK - m_benchmark = std::shared_ptr(BenchConfig::create(reader.getObject(BenchConfig::kBenchmark))); + m_benchmark = std::shared_ptr(BenchConfig::create(reader.getObject(BenchConfig::kBenchmark), reader.getBool("dmi", true))); if (m_benchmark) { m_data.emplace_back(m_benchmark); diff --git a/src/base/net/stratum/Pools.h b/src/base/net/stratum/Pools.h index 477ce211..7fa6ec9d 100644 --- a/src/base/net/stratum/Pools.h +++ b/src/base/net/stratum/Pools.h @@ -5,8 +5,8 @@ * Copyright 2014-2016 Wolf9466 * Copyright 2016 Jay D Dee * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , + * Copyright 2018-2021 SChernykh + * Copyright 2016-2021 XMRig , * * 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 diff --git a/src/base/net/stratum/benchmark/BenchClient.cpp b/src/base/net/stratum/benchmark/BenchClient.cpp index c81f4010..0e1093a1 100644 --- a/src/base/net/stratum/benchmark/BenchClient.cpp +++ b/src/base/net/stratum/benchmark/BenchClient.cpp @@ -1,6 +1,6 @@ /* XMRig - * Copyright (c) 2018-2020 SChernykh - * Copyright (c) 2016-2020 XMRig , + * Copyright (c) 2018-2021 SChernykh + * Copyright (c) 2016-2021 XMRig , * * 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 @@ -34,6 +34,10 @@ #include "base/tools/Cvt.h" #include "version.h" +#ifdef XMRIG_FEATURE_DMI +# include "hw/dmi/DmiReader.h" +#endif + xmrig::BenchClient::BenchClient(const std::shared_ptr &benchmark, IClientListener* listener) : m_listener(listener), @@ -336,6 +340,15 @@ void xmrig::BenchClient::send(Request request) doc.AddMember("steady_ready_ts", m_readyTime, allocator); doc.AddMember("cpu", Cpu::toJSON(doc), allocator); +# ifdef XMRIG_FEATURE_DMI + if (m_benchmark->isDMI()) { + DmiReader reader; + if (reader.read()) { + doc.AddMember("dmi", reader.toJSON(doc), allocator); + } + } +# endif + FetchRequest req(HTTP_POST, m_ip, BenchConfig::kApiPort, "/1/benchmark", doc, BenchConfig::kApiTLS, true); fetch(tag(), std::move(req), m_httpListener); } diff --git a/src/base/net/stratum/benchmark/BenchClient.h b/src/base/net/stratum/benchmark/BenchClient.h index 018bceaa..7eac1ee8 100644 --- a/src/base/net/stratum/benchmark/BenchClient.h +++ b/src/base/net/stratum/benchmark/BenchClient.h @@ -1,6 +1,6 @@ /* XMRig - * Copyright (c) 2018-2020 SChernykh - * Copyright (c) 2016-2020 XMRig , + * Copyright (c) 2018-2021 SChernykh + * Copyright (c) 2016-2021 XMRig , * * 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 diff --git a/src/base/net/stratum/benchmark/BenchConfig.cpp b/src/base/net/stratum/benchmark/BenchConfig.cpp index 2e02755a..c81e0c17 100644 --- a/src/base/net/stratum/benchmark/BenchConfig.cpp +++ b/src/base/net/stratum/benchmark/BenchConfig.cpp @@ -1,6 +1,6 @@ /* XMRig - * Copyright (c) 2018-2020 SChernykh - * Copyright (c) 2016-2020 XMRig , + * Copyright (c) 2018-2021 SChernykh + * Copyright (c) 2016-2021 XMRig , * * 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 @@ -52,8 +52,9 @@ const char *BenchConfig::kApiHost = "127.0.0.1"; } // namespace xmrig -xmrig::BenchConfig::BenchConfig(uint32_t size, const String &id, const rapidjson::Value &object) : +xmrig::BenchConfig::BenchConfig(uint32_t size, const String &id, const rapidjson::Value &object, bool dmi) : m_algorithm(Json::getString(object, kAlgo)), + m_dmi(dmi), m_submit(Json::getBool(object, kSubmit)), m_id(id), m_seed(Json::getString(object, kSeed)), @@ -72,7 +73,7 @@ xmrig::BenchConfig::BenchConfig(uint32_t size, const String &id, const rapidjson } -xmrig::BenchConfig *xmrig::BenchConfig::create(const rapidjson::Value &object) +xmrig::BenchConfig *xmrig::BenchConfig::create(const rapidjson::Value &object, bool dmi) { if (!object.IsObject() || object.ObjectEmpty()) { return nullptr; @@ -85,7 +86,7 @@ xmrig::BenchConfig *xmrig::BenchConfig::create(const rapidjson::Value &object) return nullptr; } - return new BenchConfig(size, id, object); + return new BenchConfig(size, id, object, dmi); } diff --git a/src/base/net/stratum/benchmark/BenchConfig.h b/src/base/net/stratum/benchmark/BenchConfig.h index f1310236..87e54197 100644 --- a/src/base/net/stratum/benchmark/BenchConfig.h +++ b/src/base/net/stratum/benchmark/BenchConfig.h @@ -1,6 +1,6 @@ /* XMRig - * Copyright (c) 2018-2020 SChernykh - * Copyright (c) 2016-2020 XMRig , + * Copyright (c) 2018-2021 SChernykh + * Copyright (c) 2016-2021 XMRig , * * 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 @@ -49,10 +49,11 @@ public: static constexpr const uint16_t kApiPort = 18805; # endif - BenchConfig(uint32_t size, const String &id, const rapidjson::Value &object); + BenchConfig(uint32_t size, const String &id, const rapidjson::Value &object, bool dmi); - static BenchConfig *create(const rapidjson::Value &object); + static BenchConfig *create(const rapidjson::Value &object, bool dmi); + inline bool isDMI() const { return m_dmi; } inline bool isSubmit() const { return m_submit; } inline const Algorithm &algorithm() const { return m_algorithm; } inline const String &id() const { return m_id; } @@ -67,6 +68,7 @@ private: static uint32_t getSize(const char *benchmark); Algorithm m_algorithm; + bool m_dmi; bool m_submit; String m_id; String m_seed; diff --git a/src/hw/api/HwApi.cpp b/src/hw/api/HwApi.cpp index 5aedbf33..fed5de3f 100644 --- a/src/hw/api/HwApi.cpp +++ b/src/hw/api/HwApi.cpp @@ -21,8 +21,6 @@ #include "base/api/interfaces/IApiRequest.h" #include "base/tools/String.h" -#include "base/io/log/Log.h" // FIXME - #ifdef XMRIG_FEATURE_DMI # include "hw/dmi/DmiReader.h"