#tokio #async #dns

tokio-dns-unofficial

Unofficial extension to tokio to provide asynchronous DNS resolution

7 unstable releases (3 breaking)

0.4.0 Aug 2, 2018
0.3.1 Jun 12, 2018
0.3.0 Mar 31, 2018
0.2.0 Jan 30, 2018
0.1.1 Dec 20, 2016

#194 in Asynchronous

Download history 2299/week @ 2020-02-06 2294/week @ 2020-02-13 1729/week @ 2020-02-20 1627/week @ 2020-02-27 1132/week @ 2020-03-05 1298/week @ 2020-03-12 1352/week @ 2020-03-19 1592/week @ 2020-03-26 1380/week @ 2020-04-02 1539/week @ 2020-04-09 1964/week @ 2020-04-16 1891/week @ 2020-04-23 1334/week @ 2020-04-30 1570/week @ 2020-05-07 1324/week @ 2020-05-14 815/week @ 2020-05-21

7,734 downloads per month
Used in 14 crates (2 directly)

Apache-2.0/MIT

18KB
351 lines

tokio-dns

Asynchronous name resolution utilities for the futures and tokio-core crates. Look at the crate-level documentation for more details.

BuildStatus

Documentation

This library has been packaged to crates.io. Note that its name on crates.io is tokio-dns-unofficial, but the crate's name is tokio_dns (when using extern crate ...).

Changelog

0.4.0

  • Added a ton of combinations of IpAdrr, SocketAddr, and port to the ToEndpoint trait.
  • Added new free functions to resolve a host/endpoint to a sequence of ip addresses or socket addresses, thanks @Fedcomp .
  • Small docs changes and new examples.

0.3.1

  • Fix a rustc regression, thanks @mehcode .

0.3.0

  • Update to the new tokio crate.
  • Change the API to look more like tokio's API.
  • New resolve free function to resolve a hostname asynchronously using the default resolver.

Demo

// Taken from examples/basic.rs
use tokio_dns::TcpStream;

// connect using the built-in resolver.
let conn = TcpStream::connect("rust-lang.org:80").and_then(|sock| {
    println!("conncted to {}", sock.peer_addr().unwrap());
    Ok(())
});

License

MIT or Apache

Dependencies

~1.5MB
~27K SLoC