BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
trading_core::TradeIDGenerator Class Reference

A thread-safe, database-aware generator for unique trade IDs. More...

#include <TradeIDGenerator.h>

Collaboration diagram for trading_core::TradeIDGenerator:
Collaboration graph

Public Member Functions

 TradeIDGenerator (data::TradeIDRepository *tradeIdRepo)
 
 ~TradeIDGenerator ()
 
virtual common::TradeID nextId ()
 Gets the next available trade ID.
 

Private Member Functions

void loadInitialState ()
 
void saveState ()
 

Private Attributes

std::atomic< common::TradeIDmCurrentId
 
data::TradeIDRepositorymTradeIDRepo
 

Detailed Description

A thread-safe, database-aware generator for unique trade IDs.

Constructor & Destructor Documentation

◆ TradeIDGenerator()

trading_core::TradeIDGenerator::TradeIDGenerator ( data::TradeIDRepository tradeIdRepo)
explicit
Here is the call graph for this function:

◆ ~TradeIDGenerator()

trading_core::TradeIDGenerator::~TradeIDGenerator ( )
Here is the call graph for this function:

Member Function Documentation

◆ loadInitialState()

void trading_core::TradeIDGenerator::loadInitialState ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nextId()

common::TradeID trading_core::TradeIDGenerator::nextId ( )
virtual

Gets the next available trade ID.

Returns
The next available trade ID.
Here is the caller graph for this function:

◆ saveState()

void trading_core::TradeIDGenerator::saveState ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ mCurrentId

std::atomic<common::TradeID> trading_core::TradeIDGenerator::mCurrentId
private

◆ mTradeIDRepo

data::TradeIDRepository* trading_core::TradeIDGenerator::mTradeIDRepo
private

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