|
Slick OrderBook 1.1.0
High-Performance C++23 OrderBook Library
|
Observer manager for notifying multiple observers Uses type erasure to support both concept-based and inheritance-based observers. More...
#include <observer.hpp>
Public Member Functions | |
| ObserverManager ()=default | |
| ~ObserverManager ()=default | |
| ObserverManager (const ObserverManager &)=delete | |
| ObserverManager & | operator= (const ObserverManager &)=delete |
| ObserverManager (ObserverManager &&) noexcept=default | |
| ObserverManager & | operator= (ObserverManager &&) noexcept=default |
| void | addObserver (std::shared_ptr< IOrderBookObserver > observer) |
| Add an observer. | |
| bool | removeObserver (const std::shared_ptr< IOrderBookObserver > &observer) |
| Remove an observer. | |
| void | clearObservers () noexcept |
| Clear all observers. | |
| std::size_t | observerCount () const noexcept |
| Get number of observers. | |
| void | notifyPriceLevelUpdate (const PriceLevelUpdate &update) const |
| Notify all observers of price level update. | |
| void | notifyOrderUpdate (const OrderUpdate &update) const |
| Notify all observers of order update. | |
| void | notifyTrade (const Trade &trade) const |
| Notify all observers of trade. | |
| void | notifyTopOfBookUpdate (const TopOfBook &tob) const |
| Notify all observers of top-of-book update. | |
| void | notifySnapshotBegin (SymbolId symbol, uint64_t seq_num, Timestamp timestamp) const |
| Notify all observers that snapshot processing is beginning. | |
| void | notifySnapshotEnd (SymbolId symbol, uint64_t seq_num, Timestamp timestamp) const |
| Notify all observers that snapshot processing is complete. | |
Observer manager for notifying multiple observers Uses type erasure to support both concept-based and inheritance-based observers.
Definition at line 52 of file observer.hpp.
|
default |
|
default |
|
delete |
|
defaultnoexcept |
|
inline |
Add an observer.
| observer | Shared pointer to observer (can be IOrderBookObserver or concept-based) |
Definition at line 65 of file observer.hpp.
|
inlinenoexcept |
Clear all observers.
Definition at line 84 of file observer.hpp.
|
inline |
Notify all observers of order update.
Definition at line 101 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL3::emitSnapshot(), slick::orderbook::OrderBookL3::notifyOrderDelete(), and slick::orderbook::OrderBookL3::notifyOrderUpdate().
|
inline |
Notify all observers of price level update.
Definition at line 94 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL2::emitSnapshot(), slick::orderbook::OrderBookL3::notifyPriceLevelUpdate(), and slick::orderbook::OrderBookL2::updateLevel().
|
inline |
Notify all observers that snapshot processing is beginning.
Definition at line 122 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL2::emitSnapshot(), and slick::orderbook::OrderBookL3::emitSnapshot().
|
inline |
Notify all observers that snapshot processing is complete.
Definition at line 129 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL2::emitSnapshot(), and slick::orderbook::OrderBookL3::emitSnapshot().
|
inline |
Notify all observers of top-of-book update.
Definition at line 115 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL2::notifyTopOfBookIfChanged(), and slick::orderbook::OrderBookL3::notifyTopOfBookIfChanged().
|
inline |
Notify all observers of trade.
Definition at line 108 of file observer.hpp.
Referenced by slick::orderbook::OrderBookL3::notifyTrade().
|
inlinenoexcept |
Get number of observers.
Definition at line 89 of file observer.hpp.
|
delete |
|
defaultnoexcept |
|
inline |
Remove an observer.
| observer | Observer to remove |
Definition at line 74 of file observer.hpp.