Added pause and resume methods via JSON RPC 2.0 API.

This commit is contained in:
XMRig 2019-08-12 21:13:38 +07:00
parent 2ec257284f
commit 6955f4a484
5 changed files with 156 additions and 38 deletions

View file

@ -28,6 +28,7 @@
#include "base/api/interfaces/IApiRequest.h"
#include "base/tools/String.h"
namespace xmrig {
@ -40,28 +41,30 @@ public:
~ApiRequest() override;
protected:
inline bool isDone() const override { return m_state == STATE_DONE; }
inline bool isNew() const override { return m_state == STATE_NEW; }
inline bool isRestricted() const override { return m_restricted; }
inline int version() const override { return m_version; }
inline RequestType type() const override { return m_type; }
inline Source source() const override { return m_source; }
inline void accept() override { m_state = STATE_ACCEPTED; }
inline void done(int) override { m_state = STATE_DONE; }
int m_version = 1;
RequestType m_type = REQ_UNKNOWN;
private:
enum State {
STATE_NEW,
STATE_ACCEPTED,
STATE_DONE
};
inline bool accept() override { m_state = STATE_ACCEPTED; return true; }
inline bool isDone() const override { return m_state == STATE_DONE; }
inline bool isNew() const override { return m_state == STATE_NEW; }
inline bool isRestricted() const override { return m_restricted; }
inline const String &rpcMethod() const override { return m_rpcMethod; }
inline int version() const override { return m_version; }
inline RequestType type() const override { return m_type; }
inline Source source() const override { return m_source; }
inline void done(int) override { m_state = STATE_DONE; }
int m_version = 1;
RequestType m_type = REQ_UNKNOWN;
State m_state = STATE_NEW;
String m_rpcMethod;
private:
bool m_restricted;
Source m_source;
State m_state = STATE_NEW;
};