44 UInt32 spinBeforeIdleTime_;
46 UInt32 socketBufferSize_;
61 return threadAffinity_;
73 return threadAffinity_;
101 return dataWaitTime_;
107 dataWaitTime_ = value;
120 return spinBeforeIdleTime_;
126 spinBeforeIdleTime_ = value;
134 return socketBufferSize_;
140 socketBufferSize_ = value;
205 class FeedEngineImpl;
#define ONIXS_HKEX_OMDC_API_DECL(typeKind, typeName)
#define ONIXS_HKEX_OMDC_NULLPTR
Collection of settings affecting Feed Engine behavior.
std::string toString() const
Returns the string representation.
void threadCount(UInt32 value)
Sets threadsCount.
UInt32 spinBeforeIdleTime() const
Defines amount of time Feed Engine keeps cycling before going to sleep when no useful activity can be...
FeedEngineSettings()
Initializes options with default values.
ThreadAffinity & threadAffinity()
Defines set of CPUs allowed for each working thread to be executed on while processing market data by...
const ThreadAffinity & threadAffinity() const
Defines set of CPUs allowed for each working thread to be executed on while processing market data by...
void socketBufferSize(UInt32 value)
Sets udpSocketBufferSize.
void spinBeforeIdleTime(UInt32 value)
Sets redundancySpinTime.
UInt32 dataWaitTime() const
Defines amount of time Feed Engine spends on socket waiting for I/O while running master processing l...
UInt32 threadCount() const
Number of working threads to be used by feed engine.
UInt32 socketBufferSize() const
Defines size of receiving buffer in bytes for sockets.
void dataWaitTime(UInt32 value)
Sets dataWaitTime.
Manages processing machinery for market data received from feeds.
const FeedEngineSettings & settings() const
Settings used define behavior of given instance.
friend class FeedEngineImpl
FeedEngine(const FeedEngineSettings &, FeedEngineListener *=nullptr)
Initializes engine with given configuration.
~FeedEngine()
Destructs given instance.
Represents set of CPU indices.
ONIXS_HKEX_OMDC_API std::ostream & operator<<(std::ostream &stream, const ServiceDescriptor &descriptor)
Listener for thread-related events.
virtual void onFeedEngineThreadBegin(const FeedEngine &)
Member invoked by feed engine when a new processing thread is spawned.
virtual void onFeedEngineThreadEnd(const FeedEngine &)
Member is invoked by feed engine when processing thread is about to end.
virtual void onFeedEngineThreadIdle(const FeedEngine &, FeedEngineThreadIdle::Reason, UInt32 &)
Is called when feed engine's thread is idle.
Identifies reasons feed engine threads becomes idle.
@ DataWaitTimeout
Thread waited for incoming data using corresponding I/O operations (like 'select') and exited waiting...
@ Redundant
Thread entered idle state due to absence of any data and while other threads are waiting for new inco...