|
BetaTrader
A HFT Eco-System
|
Background worker which processes batched commands. More...
#include <WorkerThread.h>

Public Member Functions | |
| WorkerThread (rigtorp::SPSCQueue< std::unique_ptr< Command > > &commandQueue, OrderManager &orderManager, OrderBook &orderBook, Matcher &matcher, RiskManager &riskManager, data::OrderRepository &orderRepository, TradeIDGenerator *tradeIDGenerator, data::DatabaseWorker *databaseWorker) | |
| ~WorkerThread () | |
| void | processNextCommand () |
| void | start () |
| void | stop () |
Private Member Functions | |
| void | processBatch (std::unique_ptr< Command > *commands, size_t count) |
| void | processCancelOrder (const CancelOrder &cmd) const |
| void | processModifyOrder (const ModifyOrder &cmd) const |
| void | processNewOrder (NewOrder &cmd) const |
| void | runLoop (std::stop_token stopToken) |
Private Attributes | |
| std::unique_ptr< Command > | mCommandBatch [BATCH_SIZE] |
| rigtorp::SPSCQueue< std::unique_ptr< Command > > & | mCommandQueue |
| data::DatabaseWorker * | mDatabaseWorker |
| Matcher & | mMatcher |
| OrderBook & | mOrderBook |
| OrderManager & | mOrderManager |
| data::OrderRepository & | mOrderRepository |
| RiskManager & | mRiskManager |
| std::jthread | mThread |
| TradeIDGenerator * | mTradeIDGenerator |
Static Private Attributes | |
| static constexpr size_t | BATCH_SIZE = 64 |
Background worker which processes batched commands.
| trading_core::WorkerThread::WorkerThread | ( | rigtorp::SPSCQueue< std::unique_ptr< Command > > & | commandQueue, |
| OrderManager & | orderManager, | ||
| OrderBook & | orderBook, | ||
| Matcher & | matcher, | ||
| RiskManager & | riskManager, | ||
| data::OrderRepository & | orderRepository, | ||
| TradeIDGenerator * | tradeIDGenerator, | ||
| data::DatabaseWorker * | databaseWorker | ||
| ) |
| trading_core::WorkerThread::~WorkerThread | ( | ) |

|
private |


|
private |


|
private |


|
private |


| void trading_core::WorkerThread::processNextCommand | ( | ) |


|
private |


| void trading_core::WorkerThread::start | ( | ) |

| void trading_core::WorkerThread::stop | ( | ) |

|
staticconstexprprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |