mirror of
https://github.com/xmrig/xmrig.git
synced 2025-12-25 05:40:39 -05:00
New DNS implementation.
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
#include "base/io/log/Tags.h"
|
||||
#include "base/kernel/interfaces/IClientListener.h"
|
||||
#include "base/net/dns/Dns.h"
|
||||
#include "base/net/dns/DnsRecords.h"
|
||||
#include "base/net/http/Fetch.h"
|
||||
#include "base/net/http/HttpData.h"
|
||||
#include "base/net/http/HttpListener.h"
|
||||
@@ -185,13 +186,15 @@ void xmrig::BenchClient::onHttpData(const HttpData &data)
|
||||
}
|
||||
|
||||
|
||||
void xmrig::BenchClient::onResolved(const DnsRecords &records, int status)
|
||||
void xmrig::BenchClient::onResolved(const DnsRecords &records, int status, const char *error)
|
||||
{
|
||||
# ifdef XMRIG_FEATURE_HTTP
|
||||
assert(!m_httpListener);
|
||||
|
||||
m_dns.reset();
|
||||
|
||||
if (status < 0) {
|
||||
return setError(uv_strerror(status), "DNS error");
|
||||
return setError(error, "DNS error");
|
||||
}
|
||||
|
||||
m_ip = records.get().ip();
|
||||
@@ -307,11 +310,7 @@ void xmrig::BenchClient::onGetReply(const rapidjson::Value &value)
|
||||
|
||||
void xmrig::BenchClient::resolve()
|
||||
{
|
||||
m_dns = std::make_shared<Dns>(this);
|
||||
|
||||
if (!m_dns->resolve(BenchConfig::kApiHost)) {
|
||||
setError(uv_strerror(m_dns->status()), "getaddrinfo error");
|
||||
}
|
||||
m_dns = Dns::resolve(BenchConfig::kApiHost, this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ protected:
|
||||
void onBenchDone(uint64_t result, uint64_t diff, uint64_t ts) override;
|
||||
void onBenchReady(uint64_t ts, uint32_t threads, const IBackend *backend) override;
|
||||
void onHttpData(const HttpData &data) override;
|
||||
void onResolved(const DnsRecords &records, int status) override;
|
||||
void onResolved(const DnsRecords &records, int status, const char *error) override;
|
||||
|
||||
private:
|
||||
enum Mode : uint32_t {
|
||||
@@ -110,7 +110,7 @@ private:
|
||||
Pool m_pool;
|
||||
Request m_request = NO_REQUEST;
|
||||
std::shared_ptr<BenchConfig> m_benchmark;
|
||||
std::shared_ptr<Dns> m_dns;
|
||||
std::shared_ptr<DnsRequest> m_dns;
|
||||
std::shared_ptr<IHttpListener> m_httpListener;
|
||||
String m_ip;
|
||||
String m_token;
|
||||
|
||||
Reference in New Issue
Block a user