20个版本

0.0.21 2023年11月27日
0.0.20 2023年11月24日
0.0.9 2023年10月31日
0.0.5 2023年9月28日

#99财务

Download history 100/week @ 2024-03-30 21/week @ 2024-04-06

每月下载量 188次

MIT 许可证

205KB
4.5K 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。

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

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

依赖项

~17–33MB
~587K SLoC