BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
FixServer.h
Go to the documentation of this file.
1#pragma once
2
4#include "fix/FixSession.h"
8#include <asio.hpp>
9#include <map>
10#include <memory>
11#include <string>
12
13namespace fix {
14
15 class FixServer {
16 public:
17 FixServer(asio::io_context& ioContext, short port,
18 trading_core::TradingCore& tradingCore);
19
20 void onExecutionReport(const ExecutionReport& report);
21
23
25
26 void registerSession(const std::shared_ptr<FixSession>& session);
27
28 void unregisterSession(uint32_t sessionId);
29
30 private:
31 void doAccept();
32
33 asio::ip::tcp::acceptor mAcceptor;
34 asio::ip::tcp::socket mSocket;
36 std::map<uint32_t, std::shared_ptr<FixSession>> mSessions;
37 uint32_t mNextSessionId = 1;
38 std::map<std::string, std::vector<std::weak_ptr<FixSession>>> mMarketDataSubscriptions;
39 };
40
41} // namespace fix
Top-level entry point for the trading core service.
Represents a FIX Execution Report (35=8) message.
Definition ExecutionReport.h:14
Definition FixServer.h:15
uint32_t mNextSessionId
Definition FixServer.h:37
void registerSession(const std::shared_ptr< FixSession > &session)
Definition FixServer.cpp:62
void onExecutionReport(const ExecutionReport &report)
Definition FixServer.cpp:16
void unregisterSession(uint32_t sessionId)
Definition FixServer.cpp:68
void onMarketDataSnapshotFullRefresh(const MarketDataSnapshotFullRefresh &snapshot)
Definition FixServer.cpp:27
void onMarketDataIncrementalRefresh(const MarketDataIncrementalRefresh &refresh)
Definition FixServer.cpp:38
asio::ip::tcp::socket mSocket
Definition FixServer.h:34
std::map< std::string, std::vector< std::weak_ptr< FixSession > > > mMarketDataSubscriptions
Definition FixServer.h:38
std::map< uint32_t, std::shared_ptr< FixSession > > mSessions
Definition FixServer.h:36
void doAccept()
Definition FixServer.cpp:49
trading_core::TradingCore & mTradingCore
Definition FixServer.h:35
asio::ip::tcp::acceptor mAcceptor
Definition FixServer.h:33
High-level manager for partitions and command dispatch.
Definition TradingCore.h:27
Definition ExecutionReport.h:6
Definition MarketDataIncrementalRefresh.h:22
Definition MarketDataSnapshotFullRefresh.h:21