feat: cache warming — proactive DNS resolution for configured domains (#78)
Resolves A + AAAA at startup for domains listed in [cache] warm, then re-resolves before TTL expiry (at 75% elapsed). Keeps critical domains always hot in cache with zero client-visible latency. Closes #34 (item 4) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit was merged in pull request #78.
This commit is contained in:
@@ -247,6 +247,8 @@ pub struct CacheConfig {
|
||||
pub min_ttl: u32,
|
||||
#[serde(default = "default_max_ttl")]
|
||||
pub max_ttl: u32,
|
||||
#[serde(default)]
|
||||
pub warm: Vec<String>,
|
||||
}
|
||||
|
||||
impl Default for CacheConfig {
|
||||
@@ -255,6 +257,7 @@ impl Default for CacheConfig {
|
||||
max_entries: default_max_entries(),
|
||||
min_ttl: default_min_ttl(),
|
||||
max_ttl: default_max_ttl(),
|
||||
warm: Vec::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user