This example crate shows the generation of FIX
message encoding and decoding using code generation
provided by the fefix
crate.
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.
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
]
Includes Session Management such as Logon, Logoff, Heartbeats, etc.
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.
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.
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.