Solo mining: added job timeout (default is 15 seconds)
It's important to update jobs frequently to get new transactions into the block template. See https://rucknium.me/posts/monero-pool-transaction-delay/ for more details.
This commit is contained in:
parent
0ed4b35cd3
commit
e2c58126e9
8 changed files with 43 additions and 1 deletions
|
@ -65,6 +65,7 @@ const char *Pool::kAlgo = "algo";
|
|||
const char *Pool::kCoin = "coin";
|
||||
const char *Pool::kDaemon = "daemon";
|
||||
const char *Pool::kDaemonPollInterval = "daemon-poll-interval";
|
||||
const char *Pool::kDaemonJobTimeout = "daemon-job-timeout";
|
||||
const char *Pool::kDaemonZMQPort = "daemon-zmq-port";
|
||||
const char *Pool::kEnabled = "enabled";
|
||||
const char *Pool::kFingerprint = "tls-fingerprint";
|
||||
|
@ -88,6 +89,7 @@ const char *Pool::kNicehashHost = "nicehash.com";
|
|||
xmrig::Pool::Pool(const char *url) :
|
||||
m_flags(1 << FLAG_ENABLED),
|
||||
m_pollInterval(kDefaultPollInterval),
|
||||
m_jobTimeout(kDefaultJobTimeout),
|
||||
m_url(url)
|
||||
{
|
||||
}
|
||||
|
@ -101,6 +103,7 @@ xmrig::Pool::Pool(const char *host, uint16_t port, const char *user, const char
|
|||
m_user(user),
|
||||
m_spendSecretKey(spendSecretKey),
|
||||
m_pollInterval(kDefaultPollInterval),
|
||||
m_jobTimeout(kDefaultJobTimeout),
|
||||
m_url(host, port, tls)
|
||||
{
|
||||
m_flags.set(FLAG_NICEHASH, nicehash || strstr(host, kNicehashHost));
|
||||
|
@ -111,6 +114,7 @@ xmrig::Pool::Pool(const char *host, uint16_t port, const char *user, const char
|
|||
xmrig::Pool::Pool(const rapidjson::Value &object) :
|
||||
m_flags(1 << FLAG_ENABLED),
|
||||
m_pollInterval(kDefaultPollInterval),
|
||||
m_jobTimeout(kDefaultJobTimeout),
|
||||
m_url(Json::getString(object, kUrl))
|
||||
{
|
||||
if (!m_url.isValid()) {
|
||||
|
@ -123,6 +127,7 @@ xmrig::Pool::Pool(const rapidjson::Value &object) :
|
|||
m_rigId = Json::getString(object, kRigId);
|
||||
m_fingerprint = Json::getString(object, kFingerprint);
|
||||
m_pollInterval = Json::getUint64(object, kDaemonPollInterval, kDefaultPollInterval);
|
||||
m_jobTimeout = Json::getUint64(object, kDaemonJobTimeout, kDefaultJobTimeout);
|
||||
m_algorithm = Json::getString(object, kAlgo);
|
||||
m_coin = Json::getString(object, kCoin);
|
||||
m_daemon = Json::getString(object, kSelfSelect);
|
||||
|
@ -207,6 +212,7 @@ bool xmrig::Pool::isEqual(const Pool &other) const
|
|||
&& m_url == other.m_url
|
||||
&& m_user == other.m_user
|
||||
&& m_pollInterval == other.m_pollInterval
|
||||
&& m_jobTimeout == other.m_jobTimeout
|
||||
&& m_daemon == other.m_daemon
|
||||
&& m_proxy == other.m_proxy
|
||||
);
|
||||
|
@ -299,6 +305,7 @@ rapidjson::Value xmrig::Pool::toJSON(rapidjson::Document &doc) const
|
|||
|
||||
if (m_mode == MODE_DAEMON) {
|
||||
obj.AddMember(StringRef(kDaemonPollInterval), m_pollInterval, allocator);
|
||||
obj.AddMember(StringRef(kDaemonJobTimeout), m_jobTimeout, allocator);
|
||||
obj.AddMember(StringRef(kDaemonZMQPort), m_zmqPort, allocator);
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue