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_;
bool eventsDispatched() const ONIXS_BATS_PITCH_NOTHROW
Indicates whether feed-related events like data reception or absence have been dispatched.
NetFeedEngineProcessResult(UInt32 flags) ONIXS_BATS_PITCH_NOTHROW
UInt32 spinBeforeIdleTime() const
Identifies reasons feed engine threads becomes idle.
void threadCount(UInt32 value)
Sets threadsCount.
UInt32 threadCount() const
bool ioWaited() const ONIXS_BATS_PITCH_NOTHROW
Indicates whether processing had to sleep in kernel while checking data availability.
The Feed Engine machinery.
void eventsDispatched(bool state) ONIXS_BATS_PITCH_NOTHROW
Indicates whether feed-related events like data reception or absence have been dispatched.
#define ONIXS_BATS_PITCH_OVERRIDE
void reserved(Flags flags) ONIXS_BATS_PITCH_NOTHROW
Reserved (unused) flags.
bool process(FeedEngine &engine)
Designed to reflect various aspects of feed engine processing flow.
#define ONIXS_BATS_PITCH_NULLPTR
ThreadAffinity & threadAffinity()
The given class implements the Feed Engine concept using the Solarlfare ef_vi SDK.
virtual void onFeedEngineThreadEnd(const FeedEngineThreadPool &)
Current thread related tasks.
A pool of threads executing feed engine tasks.
virtual void onFeedEngineThreadBegin(const FeedEngineThreadPool &)
UInt32 Flags
Aliases integral type whose bits are used to indicate flag presence.
void spinBeforeIdleTime(UInt32 value)
Sets redundancySpinTime.
Flags reserved() const ONIXS_BATS_PITCH_NOTHROW
Reserved (unused) flags.
class ONIXS_CBOECFE_PITCH_API FeedEngineThreadPool
virtual ~FeedEngineThreadPoolListener()
static NicWatch & service()
Returns watch service.
The given class implements feed engine concept using pool of working threads and standard socket API...
virtual void onFeedEngineThreadIdle(const FeedEngineThreadPool &, FeedEngineThreadIdle::Reason, UInt32 &)
Represents set of CPU indices.
#define ONIXS_BATS_PITCH_NOTHROW
FeedEngineThreadPoolSettings()
static UtcWatch & service()
Returns watch service.
void ioWaited(bool state) ONIXS_BATS_PITCH_NOTHROW
Indicates whether processing had to sleep in kernel while checking data availability.
size_t CpuIndex
Zero-based index of CPU.
const ThreadAffinity & threadAffinity() const
NetFeedEngineProcessResult process()