26 void onTrade(
const std::string& symbol,
double price, uint64_t qty, int64_t timestampNs);
43 void updateAggregate(
Aggregate& agg,
int interval,
const std::string& symbol,
double price, uint64_t qty, int64_t timestampNs);
Persists OHLC candle data to the database.
Definition MarketHistoryRepository.h:24
Aggregates trade updates into OHLC candles and persists them.
Definition CandleAggregator.h:18
std::mutex mMutex
Definition CandleAggregator.h:41
std::function< void(int interval, const Candle &)> CandleCallback
Definition CandleAggregator.h:20
void setCandleCallback(CandleCallback cb)
Definition CandleAggregator.h:28
CandleCallback mCallback
Definition CandleAggregator.h:32
std::map< std::string, std::map< int, Aggregate > > mAggregates
Definition CandleAggregator.h:40
void onTrade(const std::string &symbol, double price, uint64_t qty, int64_t timestampNs)
Definition CandleAggregator.cpp:8
~CandleAggregator()=default
MarketHistoryRepository & mRepo
Definition CandleAggregator.h:31
void updateAggregate(Aggregate &agg, int interval, const std::string &symbol, double price, uint64_t qty, int64_t timestampNs)
Definition CandleAggregator.cpp:16
Repository for managing sequence numbers.
Definition Constant.h:13
Definition CandleAggregator.h:10
Definition MarketHistoryRepository.h:10
Definition CandleAggregator.h:34
bool active
Definition CandleAggregator.h:36
Candle current
Definition CandleAggregator.h:35