New DNS implementation.

This commit is contained in:
XMRig
2021-03-16 22:24:37 +07:00
parent 0817bb2fcf
commit e6c52d1336
14 changed files with 357 additions and 121 deletions

View File

@@ -50,7 +50,7 @@ using BIO = struct bio_st;
namespace xmrig {
class Dns;
class DnsRequest;
class IClientListener;
class JobResult;
@@ -80,7 +80,7 @@ protected:
void deleteLater() override;
void tick(uint64_t now) override;
void onResolved(const DnsRecords &records, int status) override;
void onResolved(const DnsRecords &records, int status, const char *error) override;
inline bool hasExtension(Extension extension) const noexcept override { return m_extensions.test(extension); }
inline const char *mode() const override { return "pool"; }
@@ -132,10 +132,10 @@ private:
static inline Client *getClient(void *data) { return m_storage.get(data); }
const char *m_agent;
Dns *m_dns;
LineReader m_reader;
Socks5 *m_socks5 = nullptr;
std::bitset<EXT_MAX> m_extensions;
std::shared_ptr<DnsRequest> m_dns;
std::vector<char> m_sendBuf;
String m_rpcId;
Tls *m_tls = nullptr;