style: cargo fmt

This commit is contained in:
Razvan Dimescu
2026-04-21 16:30:26 +03:00
parent 10469e96bd
commit 459395203d
5 changed files with 27 additions and 45 deletions

View File

@@ -610,8 +610,10 @@ fn run_hedge_multi(rt: &tokio::runtime::Runtime, iterations: usize) {
);
let primary = numa::forward::parse_upstream(DOH_UPSTREAM, 443, None).expect("failed to parse");
let primary_dual = numa::forward::parse_upstream(DOH_UPSTREAM, 443, None).expect("failed to parse");
let secondary_dual = numa::forward::parse_upstream(DOH_UPSTREAM, 443, None).expect("failed to parse");
let primary_dual =
numa::forward::parse_upstream(DOH_UPSTREAM, 443, None).expect("failed to parse");
let secondary_dual =
numa::forward::parse_upstream(DOH_UPSTREAM, 443, None).expect("failed to parse");
let resolver = rt.block_on(build_hickory_resolver());
println!("Warming up...");

View File

@@ -87,15 +87,12 @@ impl Resolve for NumaResolver {
let hostname = name.as_str().to_string();
if let Some(ips) = self.overrides.get(&hostname) {
let addrs: Vec<SocketAddr> =
ips.iter().map(|ip| SocketAddr::new(*ip, 0)).collect();
let addrs: Vec<SocketAddr> = ips.iter().map(|ip| SocketAddr::new(*ip, 0)).collect();
debug!(
"bootstrap_resolver: override hit for {} → {:?}",
hostname, ips
);
return Box::pin(
async move { Ok(Box::new(addrs.into_iter()) as Addrs) },
);
return Box::pin(async move { Ok(Box::new(addrs.into_iter()) as Addrs) });
}
let bootstrap = self.bootstrap.clone();
@@ -144,7 +141,10 @@ async fn resolve_via_bootstrap(
.into())
}
async fn query_with_tcp_fallback(query: &DnsPacket, server: SocketAddr) -> crate::Result<DnsPacket> {
async fn query_with_tcp_fallback(
query: &DnsPacket,
server: SocketAddr,
) -> crate::Result<DnsPacket> {
match forward_udp(query, server, UDP_TIMEOUT).await {
Ok(pkt) => Ok(pkt),
Err(e) => {

View File

@@ -210,12 +210,8 @@ pub async fn resolve_query(
// Conditional forwarding takes priority over recursive mode
// (e.g. Tailscale .ts.net, VPC private zones)
let key = (qname.clone(), qtype);
let (resp, path, err) = resolve_coalesced(
&ctx.inflight,
key,
&query,
QueryPath::Forwarded,
|| async {
let (resp, path, err) =
resolve_coalesced(&ctx.inflight, key, &query, QueryPath::Forwarded, || async {
let wire = forward_with_failover_raw(
raw_wire,
pool,
@@ -225,9 +221,8 @@ pub async fn resolve_query(
)
.await?;
cache_and_parse(ctx, &qname, qtype, &wire)
},
)
.await;
})
.await;
log_coalesced_outcome(src_addr, qtype, &qname, path, err.as_deref(), "FORWARD");
if path == QueryPath::Forwarded {
upstream_transport = pool.preferred().map(|u| u.transport());
@@ -238,12 +233,8 @@ pub async fn resolve_query(
// tag as Udp so the dashboard can aggregate plaintext-wire
// egress honestly. Only mark on success — errors stay None.
let key = (qname.clone(), qtype);
let (resp, path, err) = resolve_coalesced(
&ctx.inflight,
key,
&query,
QueryPath::Recursive,
|| {
let (resp, path, err) =
resolve_coalesced(&ctx.inflight, key, &query, QueryPath::Recursive, || {
crate::recursive::resolve_recursive(
&qname,
qtype,
@@ -252,9 +243,8 @@ pub async fn resolve_query(
&ctx.root_hints,
&ctx.srtt,
)
},
)
.await;
})
.await;
log_coalesced_outcome(src_addr, qtype, &qname, path, err.as_deref(), "RECURSIVE");
if path == QueryPath::Recursive {
upstream_transport = Some(crate::stats::UpstreamTransport::Udp);
@@ -263,12 +253,8 @@ pub async fn resolve_query(
} else {
let pool = ctx.upstream_pool.lock().unwrap().clone();
let key = (qname.clone(), qtype);
let (resp, path, err) = resolve_coalesced(
&ctx.inflight,
key,
&query,
QueryPath::Upstream,
|| async {
let (resp, path, err) =
resolve_coalesced(&ctx.inflight, key, &query, QueryPath::Upstream, || async {
let wire = forward_with_failover_raw(
raw_wire,
&pool,
@@ -278,9 +264,8 @@ pub async fn resolve_query(
)
.await?;
cache_and_parse(ctx, &qname, qtype, &wire)
},
)
.await;
})
.await;
log_coalesced_outcome(src_addr, qtype, &qname, path, err.as_deref(), "UPSTREAM");
if path == QueryPath::Upstream {
upstream_transport = pool.preferred().map(|u| u.transport());

View File

@@ -113,10 +113,7 @@ impl fmt::Display for Upstream {
}
}
pub fn parse_upstream_addr(
s: &str,
default_port: u16,
) -> std::result::Result<SocketAddr, String> {
pub fn parse_upstream_addr(s: &str, default_port: u16) -> std::result::Result<SocketAddr, String> {
// Try full socket addr first: "1.2.3.4:5353" or "[::1]:5353"
if let Ok(addr) = s.parse::<SocketAddr>() {
return Ok(addr);

View File

@@ -18,7 +18,9 @@ use crate::buffer::BytePacketBuffer;
use crate::cache::DnsCache;
use crate::config::{build_zone_map, load_config, ConfigLoad};
use crate::ctx::{handle_query, ServerCtx};
use crate::forward::{build_https_client_with_resolver, parse_upstream_list, Upstream, UpstreamPool};
use crate::forward::{
build_https_client_with_resolver, parse_upstream_list, Upstream, UpstreamPool,
};
use crate::odoh::OdohConfigCache;
use crate::override_store::OverrideStore;
use crate::query_log::QueryLog;
@@ -625,11 +627,7 @@ async fn network_watch_loop(ctx: Arc<ServerCtx>) {
}
}
async fn load_blocklists(
ctx: &ServerCtx,
lists: &[String],
resolver: Option<Arc<NumaResolver>>,
) {
async fn load_blocklists(ctx: &ServerCtx, lists: &[String], resolver: Option<Arc<NumaResolver>>) {
let downloaded = download_blocklists(lists, resolver).await;
// Parse outside the lock to avoid blocking DNS queries during parse (~100ms)