use std::net::IpAddr;
#[derive(Debug, Clone, PartialEq)]
pub enum DnsRecordType {
A,
AAAA,
PTR,
}
#[async_trait::async_trait]
pub trait DnsResolver: Send + Sync + 'static {
async fn resolve(&self, name: &str, record_type: DnsRecordType) -> Result<Vec<IpAddr>, String>;
fn name(&self) -> &'static str;
}
pub mod blocky;
pub mod doh;
pub mod system;