22 #include <system/Thread.h> 24 #include <boost/foreach.hpp> 26 ONIXS_HANDLER_NAMESPACE_BEGIN
33 , publicFeedEngine_(publicFeedEngine)
35 System::Thread::CpuIndexes cpuIndexes;
38 HandlerCore::MarketData::FE::FeedEngineSettings feSettings;
40 BOOST_FOREACH(
size_t cpuIndex, cpuIndexes)
42 feSettings.threadAffinity().cpus().insert(static_cast<HandlerCore::MarketData::FE::CpuIndex>(cpuIndex));
46 feSettings.watch(HandlerCore::MarketData::FE::UtcWatch::service());
51 feedEngine_.reset(
new HandlerCore::MarketData::FE::MultithreadedFeedEngine(feSettings,
this));
63 void FeedEngineImpl::onFeedEngineThreadBegin()
69 void FeedEngineImpl::onFeedEngineThreadEnd()
75 void FeedEngineImpl::onFeedEngineThreadIdle(HandlerCore::MarketData::FE::FeedEngineThreadIdle::Reason reason, UInt32& timeout)
78 listener_->
onFeedEngineThreadIdle(*publicFeedEngine_, static_cast<HANDLER_NAMESPACE::FeedEngineThreadIdle::Reason>(reason), timeout);
81 ONIXS_HANDLER_NAMESPACE_END
virtual void onFeedEngineThreadBegin(const FeedEngine &)
virtual ~FeedEngineImpl()
Finalize instance.
UInt32 socketBufferSize() const
virtual void onFeedEngineThreadEnd(const FeedEngine &)
void copyTo(CpuIndexes &) const
Copies set into another set.
const ThreadAffinity & threadAffinity() const
UInt32 spinBeforeIdleTime() const
virtual void onFeedEngineThreadIdle(const FeedEngine &, FeedEngineThreadIdle::Reason, UInt32 &)
UInt32 dataWaitTime() const
UInt32 threadCount() const
Collection of settings affecting Feed Engine behavior.
Manages processing machinery for market data received from feeds.