mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-27 15:04:17 +00:00
Provide a mechanism for setting a pool quota to be used by load-balance.
This commit is contained in:
parent
770556cdec
commit
0121b75a4e
48
cgminer.c
48
cgminer.c
@ -512,6 +512,7 @@ struct pool *add_pool(void)
|
||||
|
||||
pool->rpc_req = getwork_req;
|
||||
pool->rpc_proxy = NULL;
|
||||
pool->quota = 1;
|
||||
|
||||
return pool;
|
||||
}
|
||||
@ -697,19 +698,20 @@ bool detect_stratum(struct pool *pool, char *url)
|
||||
return false;
|
||||
}
|
||||
|
||||
static char *set_url(char *arg)
|
||||
static struct pool *add_url(void)
|
||||
{
|
||||
struct pool *pool;
|
||||
|
||||
total_urls++;
|
||||
if (total_urls > total_pools)
|
||||
add_pool();
|
||||
pool = pools[total_urls - 1];
|
||||
return pools[total_urls - 1];
|
||||
}
|
||||
|
||||
static void setup_url(struct pool *pool, char *arg)
|
||||
{
|
||||
arg = get_proxy(arg, pool);
|
||||
|
||||
if (detect_stratum(pool, arg))
|
||||
return NULL;
|
||||
return;
|
||||
|
||||
opt_set_charp(arg, &pool->rpc_url);
|
||||
if (strncmp(arg, "http://", 7) &&
|
||||
@ -723,6 +725,39 @@ static char *set_url(char *arg)
|
||||
strncat(httpinput, arg, 248);
|
||||
pool->rpc_url = httpinput;
|
||||
}
|
||||
}
|
||||
|
||||
static char *set_url(char *arg)
|
||||
{
|
||||
struct pool *pool = add_url();
|
||||
|
||||
setup_url(pool, arg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static char *set_quota(char *arg)
|
||||
{
|
||||
char *semicolon = strchr(arg, ';'), *url;
|
||||
int len, qlen, quota;
|
||||
struct pool *pool;
|
||||
|
||||
if (!semicolon)
|
||||
return "No semicolon separated quota;URL pair found";
|
||||
len = strlen(arg);
|
||||
*semicolon = '\0';
|
||||
qlen = strlen(arg);
|
||||
if (!qlen)
|
||||
return "No parameter for quota found";
|
||||
len -= qlen + 1;
|
||||
if (len < 1)
|
||||
return "No parameter for URL found";
|
||||
quota = atoi(arg);
|
||||
if (quota < 0)
|
||||
return "Invalid negative parameter for quota set";
|
||||
url = arg + qlen + 1;
|
||||
pool = add_url();
|
||||
setup_url(pool, url);
|
||||
pool->quota = quota;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@ -1201,6 +1236,9 @@ static struct opt_table opt_config_table[] = {
|
||||
OPT_WITHOUT_ARG("--quiet|-q",
|
||||
opt_set_bool, &opt_quiet,
|
||||
"Disable logging output, display status and errors"),
|
||||
OPT_WITH_ARG("--quota|-U",
|
||||
set_quota, NULL, NULL,
|
||||
"quota;URL combination for server with load-balance strategy quotas"),
|
||||
OPT_WITHOUT_ARG("--real-quiet",
|
||||
opt_set_bool, &opt_realquiet,
|
||||
"Disable all output"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user