12个版本

0.0.21 2023年11月27日
0.0.20 2023年11月24日

#318 in 金融

Download history 5/week @ 2024-03-08 2/week @ 2024-03-15 46/week @ 2024-03-29 16/week @ 2024-04-05

每月121次下载
用于hotfix

MIT许可证

395KB
4K SLoC

HotFIX

用Rust编写的实验性FIX引擎。

CI crates-badge docs-badge Crates.io

警告

HotFIX是一个实验性项目,目前尚未完成,距离完成还有很长的路要走。它不适合生产使用。

概述

HotFIX是使用Rust实现的FIX引擎。虽然最终目标是创建一个健壮、完全兼容、易于使用且性能优异的引擎,但这是一个庞大的任务。

HotFIX的主要目标是尽快提供一个功能齐全且实用的引擎,支持FIX 4.4和5.0。这意味着尽可能使用现有解决方案,优先考虑功能组件而不是性能,并且在现阶段使用实验性代码而不是优质代码。

已实现的功能

  • TCP传输
  • 使用rustls的TLS支持
  • 基本消息编码和解码(FIX 4.4)
  • 持久性消息存储
  • 心跳、登录、重新连接会话
  • 发送消息的基本逻辑
  • 接收消息的基本逻辑
  • 重发流程
  • 测试请求和处理对端超时
  • 消息代码生成 - 即将推出

查看示例以开始使用。

先验知识

HotFIX的两个主要影响是QuickFIX和FerrumFIX

各种语言的QuickFIX实现(如QuickFIX/J)影响了传输层和会话层的设计。FIX消息逻辑基于QuickFIX XML规范。

HotFIX的FIX消息实现利用FerrumFIX进行代码生成、解析XML规范、定义字段等。这可能会在未来改变,但重用FerrumFIX代码已被证明可以加速达到功能引擎的过程。

贡献

在其当前状态下,该引擎存在许多将在适当时候解决的问题,因此请不要为单个错误创建问题或PR。

我们欢迎有志于此的贡献者与我们合作,将此项目变为一个成功的项目。有许多可以并行开发的组件。如果您有兴趣参与,请随时联系。

联系的最佳方式是通过发起讨论

依赖关系

~7MB
~127K SLoC