cdns-rs 2.0.0-next.0

A native Sync/Async Rust implementation of client DNS resolver.
Documentation
use std::path::Path;

use cdns_rs::{DnsConfigSource, DnsConfigUser, DnsConfigs, QDnsRequests, QuerySetup, ResolverGlobal, ResolverStdErr};


fn main()
{
    let cfg = 
        "nameserver 192.168.3.1 \n \
        options edns0 trust-ad use-vc \n \
        search .";

    let hosts = DnsConfigs::<DnsConfigUser>::load_host(Path::new("/etc/hosts")).unwrap();

    let cfg = 
        DnsConfigs
            ::<DnsConfigUser>
            ::new_custom(
                DnsConfigSource::SourceInstance(hosts), 
                DnsConfigSource::SourceText(cfg)
            )
            .unwrap();

    let mut res0 = 
        ResolverGlobal::<ResolverStdErr>::new(&cfg, ResolverStdErr);

    let qse = QuerySetup::default().measure_time(true);

    let req0 = 
        QDnsRequests::resolve_fqdn(cfg.get_resolv_l(),1, 2, "4neko.org", qse)
            .unwrap();

    let res = res0.query(&req0).unwrap();

    println!("{}", res);

    return;
}