BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
fix::FixSession Class Reference

#include <FixSession.h>

Inheritance diagram for fix::FixSession:
Inheritance graph
Collaboration diagram for fix::FixSession:
Collaboration graph

Public Member Functions

 FixSession (asio::ip::tcp::socket socket, FixServer &server, trading_core::TradingCore &tradingCore, uint32_t sessionId)
 
uint32_t getSessionID () const
 
void sendBusinessMessageReject (const BusinessMessageReject &bizReject)
 
void sendExecutionReport (const ExecutionReport &report)
 
void sendMarketDataIncrementalRefresh (const MarketDataIncrementalRefresh &refresh)
 
void sendMarketDataSnapshotFullRefresh (const MarketDataSnapshotFullRefresh &snapshot)
 
void sendReject (const Reject &reject)
 
void start ()
 

Private Member Functions

void doRead ()
 
void doWrite (std::shared_ptr< std::string > message)
 
void handleCancelOrderRequest (const std::string &fixMessage)
 
void handleFixMessage (const std::string &fixMessage, char msgType)
 
void handleMarketDataRequest (const std::string &fixMessage)
 
void handleModifyOrderRequest (const std::string &fixMessage)
 

Private Attributes

std::vector< char > mData
 
std::unordered_map< common::Symbol, std::string > mMarketDataReqIdMap
 
std::string mReadBuffer
 
FixServermServer
 
uint32_t mSessionId
 
asio::ip::tcp::socket mSocket
 
trading_core::TradingCoremTradingCore
 

Static Private Attributes

static constexpr size_t MaxLength = 8192
 

Constructor & Destructor Documentation

◆ FixSession()

fix::FixSession::FixSession ( asio::ip::tcp::socket  socket,
FixServer server,
trading_core::TradingCore tradingCore,
uint32_t  sessionId 
)

Member Function Documentation

◆ doRead()

void fix::FixSession::doRead ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ doWrite()

void fix::FixSession::doWrite ( std::shared_ptr< std::string >  message)
private
Here is the caller graph for this function:

◆ getSessionID()

uint32_t fix::FixSession::getSessionID ( ) const

◆ handleCancelOrderRequest()

void fix::FixSession::handleCancelOrderRequest ( const std::string &  fixMessage)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleFixMessage()

void fix::FixSession::handleFixMessage ( const std::string &  fixMessage,
char  msgType 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleMarketDataRequest()

void fix::FixSession::handleMarketDataRequest ( const std::string &  fixMessage)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleModifyOrderRequest()

void fix::FixSession::handleModifyOrderRequest ( const std::string &  fixMessage)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendBusinessMessageReject()

void fix::FixSession::sendBusinessMessageReject ( const BusinessMessageReject bizReject)

◆ sendExecutionReport()

void fix::FixSession::sendExecutionReport ( const ExecutionReport report)
Here is the call graph for this function:

◆ sendMarketDataIncrementalRefresh()

void fix::FixSession::sendMarketDataIncrementalRefresh ( const MarketDataIncrementalRefresh refresh)
Here is the call graph for this function:

◆ sendMarketDataSnapshotFullRefresh()

void fix::FixSession::sendMarketDataSnapshotFullRefresh ( const MarketDataSnapshotFullRefresh snapshot)
Here is the call graph for this function:

◆ sendReject()

void fix::FixSession::sendReject ( const Reject reject)

◆ start()

void fix::FixSession::start ( )
Here is the call graph for this function:

Member Data Documentation

◆ MaxLength

constexpr size_t fix::FixSession::MaxLength = 8192
staticconstexprprivate

◆ mData

std::vector<char> fix::FixSession::mData
private

◆ mMarketDataReqIdMap

std::unordered_map<common::Symbol, std::string> fix::FixSession::mMarketDataReqIdMap
private

◆ mReadBuffer

std::string fix::FixSession::mReadBuffer
private

◆ mServer

FixServer& fix::FixSession::mServer
private

◆ mSessionId

uint32_t fix::FixSession::mSessionId
private

◆ mSocket

asio::ip::tcp::socket fix::FixSession::mSocket
private

◆ mTradingCore

trading_core::TradingCore& fix::FixSession::mTradingCore
private

The documentation for this class was generated from the following files: