optimize override ips; utilize all ips from cache

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-10-31 11:49:00 +00:00
parent f746be82c1
commit 1f1e2d547c
3 changed files with 15 additions and 13 deletions

View file

@ -1,4 +1,4 @@
use std::{iter, net::SocketAddr, sync::Arc, time::Duration};
use std::{net::SocketAddr, sync::Arc, time::Duration};
use conduit::{err, Result, Server};
use futures::FutureExt;
@ -101,14 +101,12 @@ impl Resolve for Hooked {
}
async fn cached_to_reqwest(cached: CachedOverride) -> ResolvingResult {
let first_ip = cached
let addrs = cached
.ips
.first()
.expect("must provide at least one override");
.into_iter()
.map(move |ip| SocketAddr::new(ip, cached.port));
let saddr = SocketAddr::new(*first_ip, cached.port);
Ok(Box::new(iter::once(saddr)))
Ok(Box::new(addrs))
}
async fn resolve_to_reqwest(resolver: Arc<TokioAsyncResolver>, name: Name) -> ResolvingResult {