Skip to content

n-saurino/fix_engine

Repository files navigation

Low-latency FIX client engine in C++

Summary

Components

  • Custom FIX Engine (in progress)
  • Benchmarking Pipeline: Google benchmark, Prometheus for capture and serving, Grafana for visualization
  • Testing Framework: Google test and ctest

Features

  • Protocol: FIX protocol due to popularity, will move to FIX SBE or similar binary protocols in future enhancements
  • Combo of C++ and C
  • Using POSIX raw sockets

FIX Engine Architecture (IN PROGRESS...)

Classes

  • FIXNetworkHandler: Handles non-blocking TCP sockets (epoll/io_uring)
  • FIXSessionManager: Manages session state (logon, heartbeats, reconnections)
  • FIXMessageParser: Decodes incoming FIX messages
  • FIXMessage and CRTP Derived FIXMessages: Encodes outgoing FIX messages
  • FIXMessageQueue: Lock-free queue for inter-thread communication
  • BenchmarkLogger: Google Benchmark custom logger to handle latency benchmarking
  • FIXDispatcher: Dispatches FIX messages to application handlers

About

FIX engine project to explore socket programming and concurrency in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors