docs(presenter): 更正 ATTEMPTS 注释里「拿不到宿主设置」的假话(复审 P1)

原文把「没读设置」写成了物理限制。事实:get_with_headers 手里就有 env,第一句 engine(env)
已经走过 apply_tuning(host/settings/download.rs → core/download/shared.rs),用户当前值就在
engine.config().max_attempts_per_source。这条路径之所以恒为出厂默认,只是因为它没读那个字段。

只改注释,行为不变(仍是编译期 const)。同时把不对称写清:另一条无 header 的路径走引擎,
本来就跟随 download.retry_limit(源冷却中时引擎给 1 次,那是恢复探测)。
This commit is contained in:
AskaEth committed 2026-11-09 09:49:36 +08:00
1 parent 133f14ba0b
commit ba96a4fc94
1 file changed
+8 -3
+8 -3
View File
@@ -32,9 +32,14 @@ pub(super) const USER_AGENT: &str =
/// 最多重试次数(含首次)。 /// 最多重试次数(含首次)。
/// ///
/// **不在这里写数字**:取值就是下载引擎的出厂默认 /// **不在这里写数字**:取值就是下载引擎的出厂默认
/// (`core::download::config::DEFAULT_MAX_ATTEMPTS_PER_SOURCE`,同一份 schema 默认值 /// (`core::download::config::DEFAULT_MAX_ATTEMPTS_PER_SOURCE`,`download.retry_limit` 的 schema
/// `download.retry_limit`)。这条带 header 的路径拿不到宿主设置,所以只吃出厂默认—— /// 默认值同源),改工厂默认时这里跟着走。
/// 数字本身只有一处来源,改工厂默认时这里跟着走。 ///
/// 边界说清:这条路径**没读**宿主设置(次数是编译期常量),所以固定吃出厂默认——**不是拿不到**。
/// `env` 就在手上(`get_with_headers` 第一句 `engine(env)` 已经灌过调优),用户当前值就在
/// `engine.config().max_attempts_per_source`;要让它跟随 `download.retry_limit`,读那个字段即可,
/// 不需要新拉一条参数链。另一条无 header 的路径([`get_via_engine`])走引擎,本来就跟随设置
/// (源冷却中时引擎只给 1 次,那是恢复探测,见 `DownloadEngine::attempts_for`)。
const ATTEMPTS: u32 = DEFAULT_MAX_ATTEMPTS_PER_SOURCE; const ATTEMPTS: u32 = DEFAULT_MAX_ATTEMPTS_PER_SOURCE;
/// 取一段文本(JSON 原文)。 /// 取一段文本(JSON 原文)。