53 return 0 != value_.bits_.eventsDispatched_;
59 value_.bits_.eventsDispatched_ = state ? 1 : 0;
65 return 0 != value_.bits_.ioWaited_;
71 value_.bits_.ioWaited_ = state ? 1 : 0;
77 return value_.bits_.reserved_;
83 value_.bits_.reserved_ = flags;
89 Flags eventsDispatched_ : 1;
125 friend struct FeHelper;
203 , spinBeforeIdleTime_(1)
217 return threadAffinity_;
229 return threadAffinity_;
243 threadCount_ = value;
256 return spinBeforeIdleTime_;
262 spinBeforeIdleTime_ = value;
267 UInt32 spinBeforeIdleTime_;
320 class FeedEngineThreadPoolImpl;
321 FeedEngineThreadPoolImpl* impl_;
Listener for thread-related events.
const ThreadAffinity & threadAffinity() const
Defines set of CPUs allowed for each working thread to be executed on while processing market data by...
static NicWatch & service()
Returns watch service.
void spinBeforeIdleTime(UInt32 value)
Sets redundancySpinTime.
UInt32 Flags
Aliases integral type whose bits are used to indicate flag presence.
void eventsDispatched(bool state) noexcept
Indicates whether feed-related events like data reception or absence have been dispatched.
Designed to reflect various aspects of feed engine processing flow.
#define ONIXS_EURONEXT_OPTIQMDG_NOTHROW
FeedEngineThreadPoolSettings()
bool eventsDispatched() const noexcept
Indicates whether feed-related events like data reception or absence have been dispatched.
NetFeedEngineProcessResult process()
Carries out pending actions like data retrieval and event dispatching.
void threadCount(UInt32 value)
Sets threadsCount.
class ONIXS_EURONEXT_OPTIQMDG_API FeedEngineThreadPool
bool process(FeedEngine &engine)
Carries out pending actions like data retrieval and event dispatching.
NetFeedEngineProcessResult(UInt32 flags) noexcept
virtual void onFeedEngineThreadBegin(const FeedEngineThreadPool &)
Member invoked by feed engine when a new processing thread is spawned.
Current thread related tasks.
ThreadAffinity & threadAffinity()
Defines set of CPUs allowed for each working thread to be executed on while processing market data by...
UInt32 spinBeforeIdleTime() const
Defines amount of time Feed Engine keeps cycling before going to sleep when no useful activity can be...
bool ioWaited() const noexcept
Indicates whether processing had to sleep in kernel while checking data availability.
UInt32 threadCount() const
Number of working threads to be used by feed engine.
virtual void onFeedEngineThreadEnd(const FeedEngineThreadPool &)
Member is invoked by feed engine when processing thread is about to end.
The Feed Engine machinery.
static UtcWatch & service()
Returns watch service.
Thread waited for incoming data using corresponding I/O operations (like 'select') and exited waiting...
virtual void onFeedEngineThreadIdle(const FeedEngineThreadPool &, FeedEngineThreadIdle::Reason, UInt32 &)
Is called when feed engine's thread is idle.
Flags reserved() const noexcept
Reserved (unused) flags.
void reserved(Flags flags) noexcept
Reserved (unused) flags.
#define ONIXS_EURONEXT_OPTIQMDG_NULLPTR
The given class implements the Feed Engine concept using the Solarlfare ef_vi SDK.
#define ONIXS_EURONEXT_OPTIQMDG_OVERRIDE
A pool of threads executing feed engine tasks.
size_t CpuIndex
Zero-based index of CPU.
void ioWaited(bool state) noexcept
Indicates whether processing had to sleep in kernel while checking data availability.
virtual ~FeedEngineThreadPoolListener()
Represents set of CPU indices.
The given class implements feed engine concept using pool of working threads and standard socket API...
Identifies reasons feed engine threads becomes idle.