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