Removed libcurl dependency and fixed avgTime round in dashboard

This commit is contained in:
BenDroid 2017-11-07 18:51:55 +01:00
parent cfb60876b6
commit 1cf1e38077
7 changed files with 45 additions and 23 deletions

View file

@ -249,14 +249,6 @@ if (WITH_CC)
message(FATAL_ERROR "microhttpd NOT found: use `-DWITH_CC=OFF` to build without CC Server support")
endif()
find_package(CURL)
if (CURL_FOUND)
include_directories(${CURL_INCLUDE_DIRS})
else()
message(FATAL_ERROR "curl NOT found: use `-DWITH_CC=OFF` to build without CC Server support")
endif()
set(HEADERS_CC_COMMON
src/cc/ControlCommand.h
src/cc/ClientStatus.h)
@ -292,11 +284,11 @@ include_directories(src/3rdparty)
include_directories(${UV_INCLUDE_DIR})
add_executable(xmrigMiner ${HEADERS} ${SOURCES} ${HEADERS_COMMON} ${SOURCES_COMMON} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${HTTPD_SOURCES} ${SOURCES_CC_COMMON} ${HEADERS_CC_COMMON} ${SOURCES_CC_CLIENT} ${HEADERS_CC_CLIENT})
target_link_libraries(xmrigMiner ${UV_LIBRARIES} ${MHD_LIBRARY} ${CURL_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB})
target_link_libraries(xmrigMiner ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB})
add_executable(xmrigDaemon src/cc/XMRigd.cpp res/app.rc)
if (WITH_CC AND MHD_FOUND AND CURL_FOUND)
if (WITH_CC AND MHD_FOUND)
add_executable(xmrigCCServer ${HEADERS_COMMON} ${SOURCES_COMMON} ${SOURCES_OS} ${SOURCES_CPUID} ${SOURCES_SYSLOG} ${SOURCES_CC_COMMON} ${HEADERS_CC_COMMON} ${SOURCES_CC_SERVER} ${HEADERS_CC_SERVER})
target_link_libraries(xmrigCCServer ${UV_LIBRARIES} ${MHD_LIBRARY} ${EXTRA_LIBS} ${CPUID_LIB})
set_target_properties(xmrigCCServer PROPERTIES COMPILE_FLAGS "-DXMRIG_CC_SERVER ${SHARED_FLAGS}")

View file

@ -96,12 +96,12 @@ $(document).ready(function() {
return a + b;
}, 0 );
avgTimeTotal = api
avgTimeTotal = round(api
.column(9)
.data()
.reduce( function (a, b) {
return a + b;
}, 0 )/end;
}, 0 )/end);
sumSharesGood = api
.column(10)

View file

@ -147,7 +147,7 @@ int App::start()
# endif
# ifndef XMRIG_NO_CC
if (m_options->ccUrl()) {
if (m_options->ccHost() && m_options->ccPort() > 0) {
m_ccclient = new CCClient(m_options);
} else {
LOG_WARN("Please configure CC-Url and restart. CC feature is now deactivated.");

View file

@ -31,6 +31,8 @@
# include "getopt/getopt.h"
#else
# include <getopt.h>
#include <sstream>
#endif
@ -260,7 +262,7 @@ Options::Options(int argc, char **argv) :
m_apiWorkerId(nullptr),
m_logFile(nullptr),
m_userAgent(nullptr),
m_ccUrl(nullptr),
m_ccHost(nullptr),
m_ccToken(nullptr),
m_ccWorkerId(nullptr),
m_ccAdminUser(nullptr),
@ -444,9 +446,7 @@ bool Options::parseArg(int key, const char *arg)
break;
case 4003: /* --cc-url */
free(m_ccUrl);
m_ccUrl = strdup(arg);
break;
return parseCCUrl(arg);
case 4004: /* --cc-access-token */
free(m_ccToken);
@ -494,7 +494,7 @@ bool Options::parseArg(int key, const char *arg)
case 4006: /* --cc-port */
return parseArg(key, strtol(arg, nullptr, 10));
case 4012: /* --cc-update-interval-c */
return parseArg(key, strtol(arg, nullptr, 10));
return parseArg(key, strtol(arg, nullptr, 10));
case 'B': /* --background */
case 'k': /* --keepalive */
@ -878,3 +878,30 @@ int Options::getAlgoVariantLite() const
return m_algoVariant;
}
#endif
bool Options::parseCCUrl(const char* url)
{
free(m_ccHost);
const char *port = strchr(url, ':');
if (!port) {
m_ccHost = strdup(url);
m_ccPort = kDefaultCCPort;
} else {
const size_t size = port++ - url + 1;
m_ccHost = static_cast<char*>(malloc(size));
memcpy(m_ccHost, url, size - 1);
m_ccHost[size - 1] = '\0';
m_ccPort = (uint16_t) strtol(port, nullptr, 10);
if (m_ccPort < 0 || m_ccPort > 65536) {
m_ccPort = kDefaultCCPort;
return false;
}
}
return true;
}

View file

@ -68,7 +68,7 @@ public:
inline const char *apiWorkerId() const { return m_apiWorkerId; }
inline const char *logFile() const { return m_logFile; }
inline const char *userAgent() const { return m_userAgent; }
inline const char *ccUrl() const { return m_ccUrl; }
inline const char *ccHost() const { return m_ccHost; }
inline const char *ccToken() const { return m_ccToken; }
inline const char *ccWorkerId() const { return m_ccWorkerId; }
inline const char *ccAdminUser() const { return m_ccAdminUser; }
@ -94,6 +94,8 @@ public:
const char *algoName() const;
private:
constexpr static uint16_t kDefaultCCPort = 3344;
Options(int argc, char **argv);
~Options();
@ -105,6 +107,7 @@ private:
bool parseArg(int key, const char *arg);
bool parseArg(int key, uint64_t arg);
bool parseBoolean(int key, bool enable);
bool parseCCUrl(const char *arg);
Url *parseUrl(const char *arg) const;
void parseConfig(const char *fileName);
void parseJSON(const struct option *option, const rapidjson::Value &object);
@ -132,7 +135,7 @@ private:
char *m_apiWorkerId;
char *m_logFile;
char *m_userAgent;
char *m_ccUrl;
char *m_ccHost;
char *m_ccToken;
char *m_ccWorkerId;
char *m_ccAdminUser;

View file

@ -141,11 +141,11 @@ static void print_api()
#ifndef XMRIG_NO_CC
static void print_cc()
{
if (Options::i()->ccUrl() == nullptr) {
if (Options::i()->ccHost() == nullptr) {
return;
}
Log::i()->text(Options::i()->colors() ? "\x1B[01;32m * \x1B[01;37mCC Server: \x1B[01;36m%s" : " * CC Server: %s", Options::i()->ccUrl());
Log::i()->text(Options::i()->colors() ? "\x1B[01;32m * \x1B[01;37mCC Server: \x1B[01;36m%s:%d" : " * CC Server: %s:%d", Options::i()->ccHost(), Options::i()->ccPort());
}
#endif

2
src/cc

@ -1 +1 @@
Subproject commit 5939084c83dfc7f0bbbf87c631365075685dd782
Subproject commit 9d64970ae2abd1095ed6cff67ddaceb968373d0d