Skip to content
This repository has been archived by the owner on Dec 12, 2023. It is now read-only.
/ openfix-rs Public archive

Financial Information eXchange (aka: FIX) protocol Rust toolbox

License

Notifications You must be signed in to change notification settings

arthurlm/openfix-rs

Repository files navigation

Rust FIX toolbox

ARCHIVE PROJECT: PLEASE CHECK OUT THIS NEW PROJECT FOR REPLACEMENT / IMPROVMENT.

This library help to build FIX aware applications using Rust.

Goals / non goals

Goals:

  • Provide simple binding for FIX protocol messages and fields
  • Provide user friendly object
  • Data must be generated from XML dictionaries

Non goals:

  • Produce latency sensitive code.

    Performances is important. But we are not targeting nano seconds serialization / deserialisation. Just switch to FPGA for this kind of latencies.

    See benchmark for more information.

  • Provide a full FIX engine

Code samples

Here some integration tests to show code usages:

State of the project

For now the project is in its early beginning. So, this project is still not fully production ready.

Any help and PR are welcome 😃 !

DONE:

  • FIX dictionary XML parser + data model
  • Field gerator
  • Message generator
  • Toolchain to generate library from generated code
  • Message encoder
  • Message decoder
  • Helper for message checksum and length
  • Find target library name 🤔

TODO:

  • Message builder from MsgType field
  • Publish to crates.io
  • Add example usages

Why I do not provide full FIX engine

There is already so much generic server implementation for Rust. I just do not want to force user to use specific server / client framework.

This library is focus on message correctness and have user friendly object to decode / encode FIX messages.

Few extra links

About

Financial Information eXchange (aka: FIX) protocol Rust toolbox

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published