From 38a114b8ddc71dcc68125484e1fc8fce32ff2454 Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Thu, 25 Oct 2018 20:56:20 +0200 Subject: [PATCH] stratum: add diff_min and diff_max optional conf fields --- stratum/client_difficulty.cpp | 6 ++---- stratum/stratum.cpp | 6 ++++++ stratum/stratum.h | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/stratum/client_difficulty.cpp b/stratum/client_difficulty.cpp index 2ef8948..e3d34cb 100644 --- a/stratum/client_difficulty.cpp +++ b/stratum/client_difficulty.cpp @@ -3,12 +3,10 @@ double client_normalize_difficulty(double difficulty) { - double min_stratum_diff = g_stratum_difficulty * 0.5; - if(difficulty < min_stratum_diff) - difficulty = min_stratum_diff; + if(difficulty < g_stratum_min_diff) difficulty = g_stratum_min_diff; else if(difficulty < 1) difficulty = floor(difficulty*1000/2)/1000*2; else if(difficulty > 1) difficulty = floor(difficulty/2)*2; - + if(difficulty > g_stratum_max_diff) difficulty = g_stratum_max_diff; return difficulty; } diff --git a/stratum/stratum.cpp b/stratum/stratum.cpp index fa770df..ef73d48 100644 --- a/stratum/stratum.cpp +++ b/stratum/stratum.cpp @@ -30,6 +30,8 @@ char g_stratum_coin_exclude[256]; char g_stratum_algo[256]; double g_stratum_difficulty; +double g_stratum_min_diff; +double g_stratum_max_diff; int g_stratum_max_ttf; int g_stratum_max_cons = 5000; @@ -260,6 +262,9 @@ int main(int argc, char **argv) strcpy(g_stratum_algo, iniparser_getstring(ini, "STRATUM:algo", NULL)); g_stratum_difficulty = iniparser_getdouble(ini, "STRATUM:difficulty", 16); + g_stratum_min_diff = iniparser_getdouble(ini, "STRATUM:diff_min", g_stratum_difficulty/2); + g_stratum_max_diff = iniparser_getdouble(ini, "STRATUM:diff_max", g_stratum_difficulty*8192); + g_stratum_max_cons = iniparser_getint(ini, "STRATUM:max_cons", 5000); g_stratum_max_ttf = iniparser_getint(ini, "STRATUM:max_ttf", 0x70000000); g_stratum_reconnect = iniparser_getint(ini, "STRATUM:reconnect", true); @@ -297,6 +302,7 @@ int main(int argc, char **argv) g_allow_rolltime = strcmp(g_stratum_algo,"x11evo"); g_allow_rolltime = g_allow_rolltime && strcmp(g_stratum_algo,"timetravel"); g_allow_rolltime = g_allow_rolltime && strcmp(g_stratum_algo,"bitcore"); + g_allow_rolltime = g_allow_rolltime && strcmp(g_stratum_algo,"exosis"); if (!g_allow_rolltime) stratumlog("note: time roll disallowed for %s algo\n", g_current_algo->name); diff --git a/stratum/stratum.h b/stratum/stratum.h index 5ed1b5a..dcd2f84 100644 --- a/stratum/stratum.h +++ b/stratum/stratum.h @@ -81,6 +81,8 @@ extern char g_stratum_coin_exclude[256]; extern char g_stratum_algo[256]; extern double g_stratum_difficulty; +extern double g_stratum_min_diff; +extern double g_stratum_max_diff; extern int g_stratum_max_cons; extern int g_stratum_max_ttf;