Skip to main content

Module main_broker_svr

Module main_broker_svr 

Source
Expand description

v1.4.110 codex QOT C++ alignment Slice 2: CMD9419 main broker / crypto broker discovery. 给 QOT securityFirm=Unknown 提供 default broker 数据源 (GetCryptoSupportedDefaultMainBroker). CMD 9419 kCmdFetchMainBroker — 拉主推券商 + 数字货币主推券商.

对齐 C++ FutuOpenD/Src/FTGateway/GTWCmdAndPushReply.cpp:928-930 + NNProtoCenter/Trade/NNProto_Trd_MainBrokerage.cpp:34-73:

  • C++ FTGateway 平台 TCP login 成功后调 INNProto_Trd_MainBrokerage::PullMainBrokerage() 发 CMD9419.
  • response MainBrokerageRsp.main_brokers + crypto_brokers 写入 INNData_Trd_MainBrokerage::SetMainBrokers / SetCryptoMainBrokers.
  • QOT securityFirm=Unknown 时调 GetCryptoSupportedDefaultMainBroker()crypto_brokers / main_brokers 顺序选 default broker.

v1.4.110 codex QOT C++ alignment Slice 2: Rust 之前没有 9419 caller, 所以 securityFirm=Unknown 无法对齐 C++ default broker 行为. 本模块补这条.

§Hardcoded / Assumption Ledger

  • CMD9419 NN_ProtoCmd_Trd_BaseMainBroker = 9419 来源: /Users/leaf/ai-lab/o-src/FutuOpenD/Src/NNBase/NNBase_Define_ProtoCmd.h:83. 该 cmd 是 trade-side broker discovery (encrypted by default), 不进 is_unencrypted_proto 白名单.
  • QOT crypto-supported broker 候选硬编码集 {1001 FUTU_HK, 1007 FUTU_US, 1008 FUTU_SG}, 来源 NNData_Trd_MainBrokerage.cpp:50-68. 这是 C++ 自己 的硬编码 (协议常量), 不是服务端动态下发, 因此 Rust 复刻可接受.

Structs§

MainBrokerSnapshot
MainBrokerageRsp 解析后的 snapshot, 用于 MainBrokerCache.

Constants§

CMD_FETCH_MAIN_BROKER
CMD 号 — 主推券商
CRYPTO_SUPPORTED_MAIN_BROKER_CANDIDATES
当前 QOT crypto 行情支持 broker_id 候选集 (C++ 协议常量, broker_market_svr.cpp:50-68). 与 qot_security_firm_to_broker_id 形成闭环: firm 1/2/3 → broker 1001/1007/1008.
FALLBACK_DEFAULT_CRYPTO_BROKER
兜底 broker_id (C++ NNData_Trd_MainBrokerage.cpp:118 最后 fallback). 用户暂无 crypto account / main_brokers 缺时使用.

Functions§

fetch_main_brokers
发 CMD9419, 解析 response 成 MainBrokerSnapshot.