1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-24 19:42:27 +03:00

hostByName timeout fixes (#8787)

* single impl
This commit is contained in:
Max Prokhorov
2023-01-05 16:29:14 +03:00
committed by GitHub
parent 3e357f32b1
commit f06710eb6e
5 changed files with 126 additions and 104 deletions

View File

@ -24,6 +24,10 @@
#define ESP8266WIFIGENERIC_H_
#include "ESP8266WiFiType.h"
#include <IPAddress.h>
#include <lwip/dns.h>
#include <functional>
#include <memory>
@ -44,12 +48,15 @@ typedef void (*WiFiEventCb)(WiFiEvent_t);
enum class DNSResolveType: uint8_t
{
DNS_AddrType_IPv4 = 0, // LWIP_DNS_ADDRTYPE_IPV4 = 0
DNS_AddrType_IPv6, // LWIP_DNS_ADDRTYPE_IPV6 = 1
DNS_AddrType_IPv4_IPv6, // LWIP_DNS_ADDRTYPE_IPV4_IPV6 = 2
DNS_AddrType_IPv6_IPv4 // LWIP_DNS_ADDRTYPE_IPV6_IPV4 = 3
DNS_AddrType_IPv4 = LWIP_DNS_ADDRTYPE_IPV4,
DNS_AddrType_IPv6 = LWIP_DNS_ADDRTYPE_IPV6,
DNS_AddrType_IPv4_IPv6 = LWIP_DNS_ADDRTYPE_IPV4_IPV6,
DNS_AddrType_IPv6_IPv4 = LWIP_DNS_ADDRTYPE_IPV6_IPV4,
};
inline constexpr auto DNSDefaultTimeoutMs = 10000;
inline constexpr auto DNSResolveTypeDefault = static_cast<DNSResolveType>(LWIP_DNS_ADDRTYPE_DEFAULT);
struct WiFiState;
class ESP8266WiFiGenericClass {