diff --git a/crates/presenter/src/host/addon/http.rs b/crates/presenter/src/host/addon/http.rs index 1655028..9e508cb 100644 --- a/crates/presenter/src/host/addon/http.rs +++ b/crates/presenter/src/host/addon/http.rs @@ -32,9 +32,14 @@ pub(super) const USER_AGENT: &str = /// 最多重试次数(含首次)。 /// /// **不在这里写数字**:取值就是下载引擎的出厂默认 -/// (`core::download::config::DEFAULT_MAX_ATTEMPTS_PER_SOURCE`,同一份 schema 默认值 -/// `download.retry_limit`)。这条带 header 的路径拿不到宿主设置,所以只吃出厂默认—— -/// 数字本身只有一处来源,改工厂默认时这里跟着走。 +/// (`core::download::config::DEFAULT_MAX_ATTEMPTS_PER_SOURCE`,`download.retry_limit` 的 schema +/// 默认值同源),改工厂默认时这里跟着走。 +/// +/// 边界说清:这条路径**没读**宿主设置(次数是编译期常量),所以固定吃出厂默认——**不是拿不到**。 +/// `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; /// 取一段文本(JSON 原文)。