Explains how to use order book update events.
The sample below demonstrates listening to Handler's events:
struct MyOrderBookListener : public OrderBookListener
{
void onBookAtomicChange(const OrderBook& book, const Messaging::SbeMessage message, const BookAtomicChange& change, SecurityContext& ctx) final
{
}
void onOrderBookUpdated(const OrderBook& book, SecurityContext& ctx) final
{
#ifdef ONIXS_B3_UMDF_MD_CXX20
auto bidLevels =
book.bids()
| std::views::filter([](const auto& order) { return !order.marketOrder(); })
| std::views::drop(1)
;
for(auto && level : bidLevels)
std::cout << level;
#endif
}
void onOrderBookOutOfDate(const OrderBook& book, SecurityContext& ctx) final
{
}
} orderBookListener;
HandlerSettings settings;
Handler handler(settings);
handler.registerOrderBookListener(&orderBookListener);