4 releases (breaking)

Uses old Rust 2015

0.4.0 Mar 3, 2016
0.3.0 Mar 1, 2016
0.2.0 Feb 5, 2016
0.1.0 Feb 1, 2016

#10 in #rotor

MIT/Apache

20KB
448 lines

Rotor DNS

A pure-rust asynchronous domain name system resolver library.

Status:Pre-alpha
Documentation:http://tailhook.github.com/rotor-dns/

The library based on resolv-conf and dns-parser and mostly provides only asynchronous layer on top of rotor.

The plan, is to implement good absractions:

  • Resolve SRV and fall back to regular host name
  • Subscribe to the domain name, not just resolve

The subscription should work as follows:

  1. Resolve name by normal means
  2. Sleep almost a TTL time (get some time to resolve)
  3. Re-resolve name
  4. Check if current connection is connected to one of the names resolved
  5. Reconnect if needed
  6. If new connection is successful drop the old one

The steps 4-6 above are obviously a protocol handler's job. But we should provide good abstractions to do that.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~4.5MB
~83K SLoC