New DNS implementation.

This commit is contained in:
XMRig 2021-03-16 22:24:37 +07:00
parent 5b189696d7
commit 3e41bdc552
No known key found for this signature in database
GPG key ID: 446A53638BE94409
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;