use crate::Result;
use std::{future::Future, net::IpAddr, pin::Pin};
pub type DnsResolverFuture = Pin<Box<dyn Future<Output = Result<Vec<IpAddr>>> + Send>>;
pub trait DnsResolver: Send + Sync + 'static {
fn resolve(&self, host: String, port: u16) -> DnsResolverFuture;
}