23 #include <boost/function.hpp> 25 #include <OnixS/HandlerCore/HandlerLogger.h> 26 #include <OnixS/HandlerCore/PacketQueue.h> 32 #include "NamespaceHelper.h" 34 ONIXS_HANDLER_NAMESPACE_BEGIN
36 class IncomingMessage;
39 class OrderBookHolder;
40 class OrderBookInternal;
41 class OrderBookAllocator;
42 class OrderBookHolder;
43 class OrderBookInternal;
51 const Logging::LogFacility* parent,
52 HandlerCore::Common::HandlerLogger* logger,
59 OnixS::HandlerCore::MarketData::FE::PacketContainer& packetContainer,
60 bool runProcessCachedMessages =
true);
67 void resetMarketState();
72 void onSnapshotRecoveryStarted();
73 void onSnapshotRecoveryRestarted();
76 template<
typename TMsg>
77 void log (
const TMsg & msg) {
if(logger_) logger_->log (msg); }
79 void setOrderBookIdFilter(
const std::set<OrderBookId>& orderBookIdFilter);
81 template <
typename MessageType>
82 bool filterByInstrument(
const MessageType* message,
const std::set<OrderBookId>& filter);
85 template <
typename MessageType>
90 void checkOrderBookListener();
91 void processCachedMessages();
96 const bool buildOrderBooks_;
98 HandlerCore::Common::HandlerLogger* logger_;
100 HandlerCore::Common::PacketQueue<DataSource> packetQueue_;
103 typedef OnixS::Concurrency::RecursiveMutex Mutex;
104 typedef OnixS::Concurrency::Guard<Mutex> Guard;
105 mutable Mutex messageQueueLock_;
107 boost::scoped_ptr<OrderBookHolder> orderBookHolder_;
109 std::set<OrderBookId> orderBookIdFilter_;
111 std::set<OrderId> marketOrderIds_;
115 ONIXS_HANDLER_NAMESPACE_END
UInt64 SequenceNumber
Alias for Sequence Number type.
void log(const TMsg &msg)
Log helper.
Handler configuration settings.