37个稳定版本 (10个主要版本)
10.0.0 | 2024年8月2日 |
---|---|
9.0.0 | 2024年6月7日 |
8.5.1 | 2024年5月26日 |
8.3.0 | 2024年2月23日 |
0.2.0 | 2016年11月20日 |
#74 in 异步
每月下载量3,004
在 9 个crate中使用了(直接使用3个)
68KB
1K SLoC
c-ares-resolver
基于c-ares
构建的DNS解析器,用于异步DNS请求。
此crate提供了三种解析器类型 - Resolver
、FutureResolver
和 BlockingResolver
Resolver
是对底层c-ares
库的最薄包装。它通过回调返回答案。其他解析器都建立在这个之上。FutureResolver
将答案作为std::future::Future
返回。BlockingResolver
完全不是异步的 - 如其名所示,它会阻塞直到查找完成。
文档
API文档在此:这里.
设置功能 build-cmake
将导致使用 cmake
构建 c-ares
库。在Unix平台上,这比默认的 autotools
构建 快得多:因此,如果您使用它,您可能更喜欢它。
示例
extern crate c_ares_resolver;
extern crate futures_executor;
use futures_executor::block_on;
fn main() {
let resolver = c_ares_resolver::FutureResolver::new().unwrap();
let query = resolver.query_a("google.com");
let response = block_on(query);
match response {
Ok(result) => println!("{}", result),
Err(e) => println!("Lookup failed with error '{}'", e)
}
}
更多示例程序可以在这里找到。
贡献
欢迎贡献。请发送pull请求!
依赖项
~5–14MB
~199K SLoC