1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#![macro_use]
pub use self::resolver::{DnsResolve, DnsResolver};
mod resolver;
#[cfg(feature = "trust-dns")]
mod trust_dns_resolver;
#[macro_export]
macro_rules! lookup_then {
($context:expr, $addr:expr, $port:expr, |$resolved_addr:ident| $body:block) => {{
let mut result = None;
for $resolved_addr in $context.dns_resolve($addr, $port).await? {
match $body {
Ok(r) => {
result = Some(Ok(($resolved_addr, r)));
break;
}
Err(err) => {
result = Some(Err(err));
}
}
}
result.expect("resolved empty address")
}};
}