cdns-rs 2.0.0-next.0

A native Sync/Async Rust implementation of client DNS resolver.
Documentation
/*-
 * cdns-rs - a simple sync/async DNS query library
 * 
 * Copyright (C) 2020  Aleksandr Morozov
 * 
 * Copyright (C) 2025 Aleksandr Morozov
 * 
 * The syslog-rs crate can be redistributed and/or modified
 * under the terms of either of the following licenses:
 *
 *   1. the Mozilla Public License Version 2.0 (the “MPL”) OR
 *                     
 *   2. EUROPEAN UNION PUBLIC LICENCE v. 1.2 EUPL © the European Union 2007, 2016
 */

/// A caches of the resolv.conf and other files.
pub mod caches;

/// Configuration parsers.
mod cfg_parsers;

/// `hosts` file parser.
mod cfg_host_parser;

/// `resolv.conf` file parser.
mod cfg_resolv_parser;

/// An async File IO and Mutex interface for different `async` execs.
pub mod interface;

/// A networking code. 
pub mod network;

/// A pre-prepared requests.
pub mod request;

pub use crate::query::QuerySetup;
pub use crate::common::{QType, DnsRdata, QDnsName};
pub use interface::{UnifiedFs, MutexedCaches, AsyncMutex, AsyncMutexGuard};
pub use request::ToSocketAddrs;

pub use network::{SocketTaps, NetworkTap, SocketTap};
pub use caches::{CachesController, CacheInstance};