Skip to main content

Module market_info_svr

Module market_info_svr 

Source
Expand description

v1.4.110 codex QOT C++ alignment Phase 3 Slice 6e: CMD6825 broker-aware market state. 替代旧 CMD6823 路径, 给 GetMarketState 提供 (market_id, broker_id_or_0) 双维 lookup. CMD 6825 NN_ProtoCmd_Qot_Pull_MarketState — 拉取市场状态 (broker-aware).

对齐 C++:

  • NNProtoCenter/Quote/NNBiz_Qot_MarketState.cpp:17-28 PullMarketState(): 构造 market_tradingDay::MarketInfoReq, 加 add_market_id(...) (按 request market_id 集合), 无条件设 set_is_need_crypto_multi_broker(true), 走 NN_TCPProtoCategory_Other 发 CMD 6825.
  • NNProtoCenter/Quote/NNBiz_Qot_MarketState.cpp:113-114 OnReply_*: 遍历 pbF3C.infos() (MarketInfoItem), 用 MarketKey(market_id, has_broker_id ? broker_id : 0) 作为 mapIDStatus key, 保存 market_status. 双维 lookup 时, 非 crypto 市场用 broker_id=0.
  • APIServer/Business/Quote/APIServer_Qot_MarketState.cpp:207-237 回填: i32_t nBrokerID = pbF3CMarketInfo.has_broker_id() ? pbF3CMarketInfo.broker_id() : 0; mapIDStatus[MarketKey(market_id, nBrokerID)] = market_status;

§v1.4.110 codex QOT Phase 3 Slice 6e

之前 Rust GetMarketStateHandler 走 CMD6823 MarketStatus_Req 拉全市场 snapshot (不带 broker_id), 与 C++ 行为发散 (C++ 自 10.5.6508 已切 CMD 6825 + MarketInfoReq.is_need_crypto_multi_broker=true). 本模块补这条 caller, response 解析为按 (market_id, broker_id_or_0) 双维的 MarketStatusItem.

§Hardcoded / Assumption Ledger

  • CMD 6825 (NN_ProtoCmd_Qot_Pull_MarketState) 来源: /Users/leaf/ai-lab/o-src/FutuOpenD/Src/NNBase/NNBase_Define_ProtoCmd.h:135. 该 cmd 已在 is_unencrypted_proto 白名单 (nn_codec.rs:397).
  • is_need_crypto_multi_broker = Some(true) 对齐 C++ 无条件设 (line 24 / line 73). 即使本次 request 全部 non-crypto market_id, C++ 仍设, Rust 也设. 理由: backend 对 non-crypto market 不依赖此 flag, 设为 true 不产生副作用.
  • broker_id 缺失时默认 0 对齐 C++ pbF3CMarketInfo.has_broker_id() ? pbF3CMarketInfo.broker_id() : 0. Non-crypto market backend 不下发该字段.

Structs§

MarketStatusItem
MarketInfoRsp 解析后的单条市场状态条目.

Constants§

CMD_FETCH_MARKET_INFO
CMD 号 — 行情拉取市场状态.

Functions§

pull_market_info
发 CMD 6825 MarketInfoReq, 解析 response 成 MarketStatusItem 列表.