#tokio #dns #async-dns #async #dns-resolution

tokio-dns-unofficial

Unofficial extension to tokio to provide asynchronous DNS resolution

7 unstable releases (3 breaking)

Uses old Rust 2015

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

#8 in #async-dns

Download history 658/week @ 2024-03-29 461/week @ 2024-04-05 597/week @ 2024-04-12 601/week @ 2024-04-19 578/week @ 2024-04-26 531/week @ 2024-05-03 533/week @ 2024-05-10 557/week @ 2024-05-17 533/week @ 2024-05-24 640/week @ 2024-05-31 379/week @ 2024-06-07 522/week @ 2024-06-14 531/week @ 2024-06-21 353/week @ 2024-06-28 267/week @ 2024-07-05 383/week @ 2024-07-12

1,601 downloads per month
Used in 15 crates (3 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

~3.5MB
~47K SLoC