dendisuhubdy / fix_messages_example

Example Fix Messages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This example crate shows the generation of FIX message encoding and decoding using code generation provided by the fefix crate.

Zero-Copy

A performance enhancement for this sample would be to use Zero-Copy deserialization. Perhaps using the zerocopy crate. The challenge would be integrating this with the fefix crate.

Quickfix

This example is intended to show a simple quickfix compatible implementation of FIX messages. Each ECN interprets the FIX message fields, Layer 1 and message passing protocol uniquely.

The coinbase_quickfix.xml file comes from [fefix]

FIX Layer 1

Includes Session Management such as Logon, Logoff, Heartbeats, etc.

Blocking

FIX is inherently a blocking protocol. Messages have a built-in sequence number and must be processed in that order.

One can imagine modifications to this protocol which only blocks on sequence numbers by account.

Message Passing after Session Setup

Here is a good example of message passing after session setup:

https://www.fixsim.com/fix-protocol-tutorial

For example, after a FIX New Order, one or more Execution Reports messages may be returned to the caller.

A complete list of FIX messages.

SOFH

Included is a SOFH implementation. A SOFH header is a fixed size and intended to be passed in before sending a message on the socket inform the receiver of the exact number of FIX message bytes to be read and the encoding mechanism of these bytes.

About

Example Fix Messages


Languages

Language:Rust 100.0%