eve.core.bsd.dns

DNS resolution management for BSD event loop.

This module provides BSD-specific DNS resolution support using the standard BSD resolver (resolver(3) / res_nsearch). 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.

Platform Support:

  • FreeBSD: Full support
  • OpenBSD: Full support
  • NetBSD: Full support
  • DragonFlyBSD: Full support

This module is only meaningful on BSD platforms. On other platforms it produces an empty module.

Types 2

BSD resolver configuration.

Controls behavior of the BSD-native DNS resolver. Currently a placeholder that will be expanded with real resolver options (timeout, retries, search domains) when full resolver integration is implemented.

Fields
uint maxRetriesMaximum number of DNS resolution attempts before reporting failure.
uint timeoutMsTimeout per DNS resolution attempt in milliseconds.
bool useSystemConfigWhether to use the system resolver configuration (`/etc/resolv.conf`).

BSD DNS resolver state.

Manages BSD-specific DNS resolver state. Currently a placeholder that will hold the resolver context (res_state) 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.

Fields
BsdResolverConfig configResolver configuration.
Methods
void initialize(BsdResolverConfig cfg = BsdResolverConfig.init) @safe nothrowInitialize the BSD resolver with the given configuration.
void shutdown() @safe nothrow @nogcShut down the resolver and release any held resources.