Skip to main content

Module valid_brokers

Module valid_brokers 

Source
Expand description

CMD 20176 kCmdFetchValidBrokerList —— 获取 cid 当前有效的券商列表。

对齐 C++ FTLogin/Src/ftlogin/channel/impl/logger.cpp:1425-1500FetchValidBrokerList。从 2024 起 C++ 用这个命令取代了老的 9419 kCmdFetchMainBroker,作为 broker 通道有效性判定的权威源。

§我们的用法(v1.4.22)

Platform TCP login 成功后发一次 CMD 20176,返回的 broker_ids 用于 决定本轮应建立哪些 broker 通道;和 HTTP auth 拿到的 auth_code_list 里的 broker_id 集合对比,只是为了把差异打进日志。

  • 一致 → 正常建通道
  • 不一致 → 打 WARN,CMD20176 成功时以 CMD20176 为准
  • CMD 20176 失败(网络 / 服务端不支持)→ 不阻塞,调用方回退到 auth_code_list 旧路径

C++ 10.6 FetchValidBrokerList 成功后直接 CreateBrokerChannel(cid_valid_broker_list);失败才使用本地缓存 / 全 broker fallback。本模块按同一方向收敛:成功响应是权威过滤源, 失败响应不改变旧行为。

Constants§

CMD_FETCH_VALID_BROKER_LIST
CMD 号

Functions§

diff_broker_sources
把 CMD 20176 返回的 broker_ids 和 HTTP auth 返回的 auth_code_list 做一致性 diff,不一致时打 WARN,返回 C++ 对齐的权威 broker_id 集。
fetch_valid_broker_list
向 Platform 通道发 CMD 20176,返回服务端认为该 cid 当前有效的 broker_id 列表。失败返回 Err(调用方通常 log + ignore)。