Implemented SinglePoolStrategy.
This commit is contained in:
parent
bd8776b7ee
commit
25faeabd61
10 changed files with 98 additions and 22 deletions
|
@ -22,12 +22,14 @@
|
|||
*/
|
||||
|
||||
|
||||
#include "interfaces/IStrategyListener.h"
|
||||
#include "net/Client.h"
|
||||
#include "net/strategies/DonateStrategy.h"
|
||||
#include "Options.h"
|
||||
|
||||
|
||||
DonateStrategy::DonateStrategy(const char *agent, IStrategyListener *listener) :
|
||||
m_active(false),
|
||||
m_listener(listener)
|
||||
{
|
||||
Url *url = new Url("donate.xmrig.com", Options::i()->algo() == Options::ALGO_CRYPTONIGHT_LITE ? 3333 : 443, Options::i()->pools().front()->user());
|
||||
|
@ -45,11 +47,23 @@ DonateStrategy::DonateStrategy(const char *agent, IStrategyListener *listener) :
|
|||
}
|
||||
|
||||
|
||||
bool DonateStrategy::isActive() const
|
||||
{
|
||||
return m_active;
|
||||
}
|
||||
|
||||
|
||||
void DonateStrategy::connect()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void DonateStrategy::submit(const JobResult &result)
|
||||
{
|
||||
m_client->submit(result);
|
||||
}
|
||||
|
||||
|
||||
void DonateStrategy::onClose(Client *client, int failures)
|
||||
{
|
||||
|
||||
|
@ -58,12 +72,14 @@ void DonateStrategy::onClose(Client *client, int failures)
|
|||
|
||||
void DonateStrategy::onJobReceived(Client *client, const Job &job)
|
||||
{
|
||||
|
||||
m_listener->onJob(client, job);
|
||||
}
|
||||
|
||||
|
||||
void DonateStrategy::onLoginSuccess(Client *client)
|
||||
{
|
||||
m_active = true;
|
||||
m_listener->onActive(client);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -43,7 +43,9 @@ public:
|
|||
DonateStrategy(const char *agent, IStrategyListener *listener);
|
||||
|
||||
public:
|
||||
bool isActive() const override;
|
||||
void connect() override;
|
||||
void submit(const JobResult &result) override;
|
||||
|
||||
protected:
|
||||
void onClose(Client *client, int failures) override;
|
||||
|
@ -53,6 +55,7 @@ protected:
|
|||
private:
|
||||
static void onTimer(uv_timer_t *handle);
|
||||
|
||||
bool m_active;
|
||||
Client *m_client;
|
||||
IStrategyListener *m_listener;
|
||||
uv_timer_t m_timer;
|
||||
|
|
|
@ -22,12 +22,14 @@
|
|||
*/
|
||||
|
||||
|
||||
#include "interfaces/IStrategyListener.h"
|
||||
#include "net/Client.h"
|
||||
#include "net/strategies/SinglePoolStrategy.h"
|
||||
#include "Options.h"
|
||||
|
||||
|
||||
SinglePoolStrategy::SinglePoolStrategy(const Url *url, const char *agent, IStrategyListener *listener) :
|
||||
m_active(false),
|
||||
m_listener(listener)
|
||||
{
|
||||
m_client = new Client(0, agent, this);
|
||||
|
@ -36,24 +38,43 @@ SinglePoolStrategy::SinglePoolStrategy(const Url *url, const char *agent, IStrat
|
|||
}
|
||||
|
||||
|
||||
bool SinglePoolStrategy::isActive() const
|
||||
{
|
||||
return m_active;
|
||||
}
|
||||
|
||||
|
||||
void SinglePoolStrategy::connect()
|
||||
{
|
||||
m_client->connect();
|
||||
}
|
||||
|
||||
|
||||
void SinglePoolStrategy::submit(const JobResult &result)
|
||||
{
|
||||
m_client->submit(result);
|
||||
}
|
||||
|
||||
|
||||
void SinglePoolStrategy::onClose(Client *client, int failures)
|
||||
{
|
||||
if (!isActive()) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_active = false;
|
||||
m_listener->onPause(this);
|
||||
}
|
||||
|
||||
|
||||
void SinglePoolStrategy::onJobReceived(Client *client, const Job &job)
|
||||
{
|
||||
|
||||
m_listener->onJob(client, job);
|
||||
}
|
||||
|
||||
|
||||
void SinglePoolStrategy::onLoginSuccess(Client *client)
|
||||
{
|
||||
m_active = true;
|
||||
m_listener->onActive(client);
|
||||
}
|
||||
|
|
|
@ -40,7 +40,9 @@ public:
|
|||
SinglePoolStrategy(const Url *url, const char *agent, IStrategyListener *listener);
|
||||
|
||||
public:
|
||||
bool isActive() const override;
|
||||
void connect() override;
|
||||
void submit(const JobResult &result) override;
|
||||
|
||||
protected:
|
||||
void onClose(Client *client, int failures) override;
|
||||
|
@ -48,6 +50,7 @@ protected:
|
|||
void onLoginSuccess(Client *client) override;
|
||||
|
||||
private:
|
||||
bool m_active;
|
||||
Client *m_client;
|
||||
IStrategyListener *m_listener;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue