Dero HE fork support (astrobwt/v2 algorithm)
This commit is contained in:
parent
f7543ada60
commit
b5da73389f
27 changed files with 879 additions and 39 deletions
|
@ -39,6 +39,12 @@ using uv_handle_t = struct uv_handle_s;
|
|||
using uv_stream_t = struct uv_stream_s;
|
||||
using uv_tcp_t = struct uv_tcp_s;
|
||||
|
||||
#ifdef XMRIG_FEATURE_TLS
|
||||
using BIO = struct bio_st;
|
||||
using SSL = struct ssl_st;
|
||||
using SSL_CTX = struct ssl_ctx_st;
|
||||
#endif
|
||||
|
||||
|
||||
namespace xmrig {
|
||||
|
||||
|
@ -57,6 +63,7 @@ public:
|
|||
protected:
|
||||
bool disconnect() override;
|
||||
bool isTLS() const override;
|
||||
bool isWSS() const override;
|
||||
int64_t submit(const JobResult &result) override;
|
||||
void connect() override;
|
||||
void connect(const Pool &pool) override;
|
||||
|
@ -136,6 +143,44 @@ private:
|
|||
|
||||
std::vector<char> m_ZMQSendBuf;
|
||||
std::vector<char> m_ZMQRecvBuf;
|
||||
|
||||
# ifdef XMRIG_FEATURE_TLS
|
||||
static void onWSSConnect(uv_connect_t* req, int status);
|
||||
static void onWSSRead(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf);
|
||||
static void onWSSClose(uv_handle_t* handle);
|
||||
static void onWSSShutdown(uv_handle_t* handle);
|
||||
|
||||
void WSSConnected();
|
||||
bool WSSWrite(const char* data, size_t size);
|
||||
void WSSRead(ssize_t nread, const uv_buf_t* buf);
|
||||
void WSSParse();
|
||||
bool WSSClose(bool shutdown = false);
|
||||
|
||||
struct WSS {
|
||||
struct Header
|
||||
{
|
||||
uint8_t opcode : 4;
|
||||
uint8_t reserved : 3;
|
||||
uint8_t fin : 1;
|
||||
uint8_t payload_len : 7;
|
||||
uint8_t mask : 1;
|
||||
};
|
||||
|
||||
uv_tcp_t* m_socket = nullptr;
|
||||
SSL_CTX* m_ctx = nullptr;
|
||||
BIO* m_read = nullptr;
|
||||
BIO* m_write = nullptr;
|
||||
SSL* m_ssl = nullptr;
|
||||
char m_buf[512] = {};
|
||||
bool m_handshake = true;
|
||||
uint64_t m_blocks = 0;
|
||||
uint64_t m_miniblocks = 0;
|
||||
std::vector<char> m_data;
|
||||
std::vector<char> m_message;
|
||||
|
||||
void cleanup();
|
||||
} m_wss;
|
||||
# endif
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue