BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
TradeIDGenerator.h
Go to the documentation of this file.
1//
2// Created by sujal on 25-10-2025.
3//
4
5#pragma once
6#include "common/Types.h"
8#include <atomic>
9
10namespace trading_core {
16 public:
17 explicit TradeIDGenerator(data::TradeIDRepository* tradeIdRepo);
19
24 virtual common::TradeID nextId();
25
26 private:
27 void loadInitialState();
28 void saveState();
29
30 std::atomic<common::TradeID> mCurrentId;
32 };
33} // namespace trading_core
Repository to persist and retrieve the current trade ID.
Persistent storage for trade id value.
Definition TradeIDRepository.h:21
A thread-safe, database-aware generator for unique trade IDs.
Definition TradeIDGenerator.h:15
virtual common::TradeID nextId()
Gets the next available trade ID.
Definition TradeIDGenerator.cpp:17
void loadInitialState()
Definition TradeIDGenerator.cpp:22
void saveState()
Definition TradeIDGenerator.cpp:35
std::atomic< common::TradeID > mCurrentId
Definition TradeIDGenerator.h:30
~TradeIDGenerator()
Definition TradeIDGenerator.cpp:12
data::TradeIDRepository * mTradeIDRepo
Definition TradeIDGenerator.h:31
uint64_t TradeID
A type alias for unique trade identifiers.
Definition Types.h:136
Definition CommandType.h:7