ek-ctp
CTP 期货行情/交易网关(Rust 移植版,enkeep_trade 生态)。
对 enkeep_ctp(vnpy 的 ctp_gateway 移植层)行为逐字移植;0.1.0 为纯逻辑层,
native 桥(链接 vendored SDK 二进制)在 0.2.0 交付。
结构
| 模块 | 职责 |
|---|---|
wire |
CTP 官方字段的最小狗集合(仅 DepthMarketData/InstrumentField/OrderField/TradeField/仓位/资金/插撤单输入) |
map |
CTP 码值 ↔ ek-data 类型(状态/方向/开平/单型/交易所/时间戳/价格修整) |
driver |
行情/交易两条纯状态机(MdDriver::step/TdDriver::step),零线程零时钟 |
plugin |
CtpPlugin:ek-core 宿主插件。出门 9 线值:eTick/eContract/eOrder/eTrade/ePosition/eAccount/ePositionDone/eContractFinish/eLog;进门 eTimer 与 eReq.<gw> 三服务 |
快速用法
纯逻辑驱动层(不带任何网络库,可直接驱动 mock 做测试):
use ;
let mut td = new;
for out in td.step
总线级(同 ek-oms):
let cfg = CtpConfig ;
host.add_plugin?; // 默认构建无传输;动作被吸收
native(0.2.0 计划)
SDK 已同源供应商化:四份 ThostFtdc*.h 头文件 + SE 二进制(dll/so)
存于 native/sdk/,来源 enkeep_ctp 自带的一套(头与 bin 同源配对,
crates.io 发布面已 exclude)。
native feature 将以 extern "C" FFI + 手写 shim + 手写 build.rs
接入(零第三方 crate,详见 DESIGN.md)。
生态依赖(expected)
ek-core0.3.0(宿主/服务)ek-data0.2.2(数据类型)ek-event0.1.0(总线形态)