Skip to main content

Module symbol_list

Module symbol_list 

Source
Expand description

列表型行情 input 契约 helper(v1.4.106 codex 0641 整体重构落点)。

目的:把 “QOT 列表型 handler 在空列表 / 非法 symbol / unresolved cache miss 三种场景下整体 reject” 的逻辑集中到一个地方,避免 4-5 个 handler 各自 用不同 silent-fallback / partial-success 策略(pitfall #45 silent-success anti-pattern + pitfall #31 cache-read silent empty)。

三原则(codex 0641 audit):

  1. default ON 严格语义 — 空列表 / 任一非法 symbol / 任一 unresolved → 整体 reject(不 partial / 不 silent / 不 fallback)
  2. 整体重构ParsedSymbolList + parse_required_symbol_list + resolve_required_stock_ids 三件套
  3. 保留 caller-side 真机 verify

适用 handler 清单(v1.4.106 起):

  • Qot_GetMarketState(CMD 3223)
  • Qot_GetFutureInfo(CMD 3218)
  • Qot_GetSuspend(CMD 3219)
  • Qot_GetOwnerPlate(CMD 3207)
  • 任何后续接受 security_list: Vec<Security> 的 handler

C++ 对照:APIServer_Qot_*::OnClientReq_* 在 backend 侧对每个 sec_market / code 做基本 sanity check(market 必须在已知枚举内、code 不为空),返 kAPIErrCode_ParamErr(不是 partial-success),与本 module 行为一致。

Structs§

ParsedSymbolList
已通过基本契约校验的 security 列表 — 至少 1 项,且每项 market / code 都非空。

Functions§

parse_required_symbol_list
校验列表型 input 必须非空 + 每个元素的 market / code 都基本合法。
resolve_required_stock_ids
把已校验的列表整体解析到 (Security, stock_id) tuple 列表。