//! # ek-ctp —— CTP 网关(ek 生态插件形态)
//!
//! 参考 `enkeep_ctp`(vnpy ctp_gateway 克隆)的**语义**做的 Rust 独立实现;
//! 禁止对该 Python 包的任何运行时依赖。分层与决策见 README/DESIGN:
//!
//! - [`wire`]:CTP 数据行的【内部规范窄面】(mock 与将来 native 共用的唯一实现形态)。
//! - [`map`]:CTP 码值 ↔ ek-data 枚举/对象映射 + 北京时区时间戳换算(D-TZ)。
//! - [`driver`]:MD/TD 两条【纯状态机】——`step` 输入回报、输出请求与业务事件,
//!   零线程零时钟,全部可确定性驱动(o_src: ctp_gateway.py 的 CtpMdApi/CtpTdApi)。
//! - [`plugin`]:`ek_core::Plugin` 外壳——收 eTimer/服务请求,把驱动输出投上总线
//!   (纯生产者:只 put,不 ask 他人)。
//! - `native`(仅 `native` 特性开启时存在):官方 C++ SDK 的 C ABI 桥(`build.rs` + shim)。
//!
//! ## 版本边界(记档)
//!
//! **0.1.0**(已发布):纯逻辑面(wire/map/driver/plugin + mock 全自动测试)。
//! **0.2.0**(开发中):与官方 CTP SDK(必需的原生依赖,`.dll`/`.so` 即协议本身)的
//! FFI 桥作为 `native` 特性(默认关闭)接入——C++ shim + 手写 `build.rs`,零第三方 crate;
//! M1 已落地 MD 面(创建/前置/回调装配/登录/订阅),离线冒烟 4 用例。
//! SDK(头文件 + win64 导入库/DLL + linux SO,API 6.7.7)**随包发布**,下游安装即得;
//! 许可边界见仓根 `NOTICE`(裁决 D-SDK-SHIP)。

pub mod driver;
pub mod map;
#[cfg(feature = "native")]
pub mod native;
pub mod plugin;
pub mod wire;

pub use driver::{MdConfig, MdDriver, MdEvent, MdOut, TdConfig, TdDriver, TdEvent, TdOut};
pub use map::{adjust_price, ctp_datetime};
pub use plugin::{
    CONTRACT_BATCH_ROWS, CancelOrderReply, CancelOrderReq, CtpConfig, CtpPlugin,
    EVENT_CONTRACT_FINISH, EVENT_STATUS_PREFIX, GatewayChange, GatewayStatus, GatewayStatusEvent,
    SVC_STATUS, SendOrderReply, SendOrderReq, SubscribeReply, SubscribeReq, derived_gateway_name,
};
pub use wire::{
    DepthMarketData, ErrorField, InputOrder, InputOrderAction, InstrumentField,
    InvestorPositionField, OrderField, TradeField, TradingAccountField,
};