#tokio #dns #async-dns #async #dns-resolution #name #future

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

#18 in #async-dns

Download history 246/week @ 2024-11-14 447/week @ 2024-11-21 452/week @ 2024-11-28 571/week @ 2024-12-05 985/week @ 2024-12-12 417/week @ 2024-12-19 168/week @ 2024-12-26 455/week @ 2025-01-02 628/week @ 2025-01-09 896/week @ 2025-01-16 519/week @ 2025-01-23 550/week @ 2025-01-30 955/week @ 2025-02-06 604/week @ 2025-02-13 516/week @ 2025-02-20 556/week @ 2025-02-27

2,668 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
~49K SLoC