|
BetaTrader
A HFT Eco-System
|
Manages market data subscriptions and broadcasts updates. More...
#include <MarketDataPublisher.h>

Public Types | |
| using | IncrementalCallback = std::function< void(const fix::MarketDataIncrementalRefresh &)> |
| using | SnapshotCallback = std::function< void(const fix::MarketDataSnapshotFullRefresh &)> |
Public Member Functions | |
| void | addGeneralIncrementalSubscriber (IncrementalCallback callback) |
| void | addGeneralSnapshotSubscriber (SnapshotCallback callback) |
| void | addSubscription (common::Symbol symbol, common::SessionID sessionId) |
| virtual void | publishIncremental (const fix::MarketDataIncrementalRefresh &refresh) |
| virtual void | publishSnapshot (const fix::MarketDataSnapshotFullRefresh &snapshot) |
| void | removeSubscription (common::SessionID sessionId) |
| void | removeSubscription (common::Symbol symbol, common::SessionID sessionId) |
| void | subscribeToIncrementals (IncrementalCallback callback) |
| void | subscribeToSnapshots (SnapshotCallback callback) |
Private Attributes | |
| std::vector< IncrementalCallback > | mGeneralIncrementalCallbacks |
| std::vector< SnapshotCallback > | mGeneralSnapshotCallbacks |
| std::shared_mutex | mMutex |
| std::vector< IncrementalCallback > | mSessionIncrementalCallbacks |
| std::vector< SnapshotCallback > | mSessionSnapshotCallbacks |
| std::map< common::Symbol, std::vector< common::SessionID > > | mSubscriptions |
Manages market data subscriptions and broadcasts updates.
This class handles internal subscriptions and routes snapshots and incremental updates to various interested parties (FIX sessions, UI, etc.).
| using trading_core::MarketDataPublisher::IncrementalCallback = std::function<void(const fix::MarketDataIncrementalRefresh&)> |
| using trading_core::MarketDataPublisher::SnapshotCallback = std::function<void(const fix::MarketDataSnapshotFullRefresh&)> |
| void trading_core::MarketDataPublisher::addGeneralIncrementalSubscriber | ( | IncrementalCallback | callback | ) |

| void trading_core::MarketDataPublisher::addGeneralSnapshotSubscriber | ( | SnapshotCallback | callback | ) |
| void trading_core::MarketDataPublisher::addSubscription | ( | common::Symbol | symbol, |
| common::SessionID | sessionId | ||
| ) |


|
virtual |

|
virtual |

| void trading_core::MarketDataPublisher::removeSubscription | ( | common::SessionID | sessionId | ) |
| void trading_core::MarketDataPublisher::removeSubscription | ( | common::Symbol | symbol, |
| common::SessionID | sessionId | ||
| ) |


| void trading_core::MarketDataPublisher::subscribeToIncrementals | ( | IncrementalCallback | callback | ) |

| void trading_core::MarketDataPublisher::subscribeToSnapshots | ( | SnapshotCallback | callback | ) |

|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |