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