eve.core.macos.dns
DNS resolution management for macOS event loop.
This module provides macOS-specific DNS resolution support using the native macOS dns.h API or the legacy res_9.h resolver. The actual DNS slot management is handled by the shared kqueue DNS module (eve.core.kqueue.dns), while this module provides the resolver that performs the actual hostname-to-address translation.
On macOS, DNS resolution can use the native dns.h API (available since macOS 10.10) or the legacy res_9.h resolver from libresolv.
Platform Support:
- macOS: Full support
This module is only meaningful on macOS. On other platforms it produces an empty module.
Types 2
macOS resolver configuration.
Controls behavior of the macOS-native DNS resolver. Currently a placeholder that will be expanded with real resolver options when full resolver integration using dns.h or res_9.h is implemented.
uint maxRetriesMaximum number of DNS resolution attempts before reporting failure.uint timeoutMsTimeout per DNS resolution attempt in milliseconds.bool useNativeApiWhether to use the native macOS `dns.h` API (`true`) or legacy `res_9.h` (`false`).macOS DNS resolver state.
Manages macOS-specific DNS resolver state. Currently a placeholder that will hold the dns_service context when full resolver integration is implemented.
The resolver is used by the kqueue event loop to perform actual DNS lookups. Results are fed back into the loop's DnsManager slot system via EventLoop.updateDnsResults.
MacosResolverConfig configResolver configuration.void initialize(MacosResolverConfig cfg = MacosResolverConfig.init) @safe nothrowInitialize the macOS resolver with the given configuration.