Skip to main content

Crate talaris

Crate talaris 

Source
Expand description

talaris —— 专门为 HFT 行情订阅系统打造的 hot-path 通信层

io_uring proactor + 自实现 WS (RFC 6455) + TLS + HTTP/1.1 codec。

§Scope

  • ws RFC 6455 client core(handshake / frame / mask / parser / fragmentation / control / close)
  • tls rustls 字节驱动 adapter(ALPN http/1.1 requested + verified)
  • http 最小 HTTP/1.1 codec(WS upgrade request/response;无 REST client)
  • proactor io_uring 原语:connect/recv/send/close、SQ/CQ sizing、taskrun flags、pin、provided BufferRing、multishot recv;暴露 IO_LINK flag
  • pool 单线程 multi-conn driver:1 个 proactor 驱动 N 条 WS;pump_data 只把 Text/Binary data 交给业务,control frame 仍走完整 WS 状态机
  • connection_meta 公共配置 / 状态 / 错误类型

§API stance

talaris 按 low-level HFT transport toolkit 发布,而不是只暴露一个高层 WebSocket client wrapper。Pool / ConnectionConfig 是推荐入口;wsproactorhttptls 模块也有意公开,供需要自己组合 framing / transport、做 benchmark A/B 或接入 venue-specific codec 的用户使用。

Re-exports§

pub use connection_meta::ConnectionConfig;
pub use connection_meta::ConnectionError;
pub use connection_meta::IngressStats;
pub use connection_meta::RecvMode;
pub use connection_meta::State;
pub use pool::ConnHandle;
pub use pool::DEFAULT_POOL_COMPLETION_BATCH_CAPACITY;
pub use pool::DEFAULT_POOL_INITIAL_CONN_CAPACITY;
pub use pool::DEFAULT_POOL_POST_PROGRESS_SPIN_ITERS;
pub use pool::Pool;
pub use pool::PoolConfig;

Modules§

connection_meta
connection_meta —— Pool 内单条 conn 的公共类型和元数据
http
最小 HTTP/1.1 client codec
observability
Opt-in observability types for marked data-pump APIs.
pool
Pool —— multi-connection driver
proactor
io_uring proactor —— low-level transport primitive
tls
TLS adapter —— 包 rustls::ClientConnection 成字节驱动的两口
ws
RFC 6455 WebSocket client —— 纯 sync 字节驱动状态机