104 toStr(str, handling);
211 , servingTimeLimit_(10)
221 , service_(other.service_)
222 , attempts_(other.attempts_)
223 , servingTimeLimit_(other.servingTimeLimit_)
246 group_.controlAssignment(
"TCP Recovery Service Instance", service_,
service);
268 group_.controlAssignment(
"TCP Recovery Attempt Quantity", attempts_, qty);
283 return servingTimeLimit_;
294 group_.controlAssignment(
"TCP Recovery Serving Time Limit", servingTimeLimit_,
servingTimeLimit);
303 group_.controlChange(
304 "TCP Recovery Session Settings", &TcpRecoverySessionSettings::assignNoControl, *
this, other
325 service_ = other.service_;
327 attempts_ = other.attempts_;
329 servingTimeLimit_ = other.servingTimeLimit_;
342 toStr(str, settings);
359 , tcpRecovery_(&
group())
367 , joinRecovery_(other.joinRecovery_)
368 , gapAndErrorHandling_(other.gapAndErrorHandling_)
369 , instrumentRecovery_(other.instrumentRecovery_)
370 , marketRecovery_(other.marketRecovery_)
371 , tcpRecovery_(other.tcpRecovery_)
385 return joinRecovery_;
392 group().controlAssignment(
"Join Recovery Strategy", joinRecovery_, recovery);
404 return gapAndErrorHandling_;
411 group().controlAssignment(
"Gap And Error Handling Strategy", gapAndErrorHandling_, handling);
421 return instrumentRecovery_;
427 group().controlAssignment(
"Instrument Recovery Strategy", instrumentRecovery_, recovery);
437 return marketRecovery_;
443 group().controlAssignment(
"Market Recovery Strategy", marketRecovery_, recovery);
485 tcpRecovery_.assignNoControl(other.tcpRecovery_);
490 joinRecovery_ = other.joinRecovery_;
492 gapAndErrorHandling_ = other.gapAndErrorHandling_;
494 instrumentRecovery_ = other.instrumentRecovery_;
496 marketRecovery_ = other.marketRecovery_;
521 toStr(str, settings);
649#if !defined(ONIXS_CMEMDH_NO_DEPRECATED)
#define ONIXS_CMEMDH_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_LTWT
#define ONIXS_CMEMDH_LTWT_CLASS_DECL(name)
#define ONIXS_CMEMDH_EXPORTED_CLASS_DECL(typeName)
#define ONIXS_CMEMDH_NAMESPACE_END
#define ONIXS_CMEMDH_NULLPTR
#define ONIXS_CMEMDH_EXPORTED
Basic set of parameters affecting behavior of the Handler when the market data processing is performe...
SessionSettings & marketRecovery(MarketRecoveryOptions::Enum recovery)
Defines market recovery options.
SessionSettings & gapAndErrorHandling(GapAndErrorHandlingOptions::Enum handling)
Defines what Handler should do in case of gap in real-time (incremental) data.
SessionSettings & instrumentRecovery(InstrumentRecoveryOptions::Enum recovery)
Defines how instrument definitions are recovered.
void assignNoControlLegacy(const SessionSettings &other)
~SessionSettings()
Cleans everything up.
InstrumentRecoveryOptions::Enum instrumentRecovery() const
Indicates how instrument definitions are recovered.
SessionSettings(const SessionSettings &other)
Re-initializes settings as copies of the other ones omitting group belonging.
const SettingGroup & group() const
Instance of the group to which the given settings belongs.
JoinRecoveryOptions::Enum joinRecovery() const
Defines aspects of recovery to be done at market join stage.
friend struct LegacyAssigner
const TcpRecoverySessionSettings & tcpRecovery() const
Set of TCP recovery settings.
SessionSettings & joinRecovery(JoinRecoveryOptions::Enum recovery)
Defines aspects of recovery to be done at market join stage.
SessionSettings(SettingChangeController *controller=nullptr)
Initializes parameters with default values.
void assignNoControl(const SessionSettings &other)
Re-initializes the instance as a copy of the other one and bypassing assignment control.
GapAndErrorHandlingOptions::Enum gapAndErrorHandling() const
Defines what Handler should do in case of gap in real-time (incremental) data.
MarketRecoveryOptions::Enum marketRecovery() const
Defines selected market recovery options.
TcpRecoverySessionSettings & tcpRecovery()
Editable set of TCP recovery settings.
SessionSettings & operator=(const SessionSettings &other)
Copies settings from the given instance.
friend class HandlerSettings
Base services for settings grouped by a certain criteria.
SettingGroup(SettingChangeController *controller=nullptr)
Initializes the group of settings with the given validation services.
Collection of session settings related to TCP recovery.
~TcpRecoverySessionSettings()
Finalizes the instance.
TcpRecoverySessionSettings(const SettingGroup *group=nullptr)
Initializes the instance with the default values.
TcpRecoverySessionSettings & operator=(const TcpRecoverySessionSettings &other)
Re-initializes as a copy of the other one.
TcpRecoveryService * service() const
An instance of the TCP recovery service if there's any associated.
UInt32 servingTimeLimit() const
Amount of time allocated to process a recovery request.
TcpRecoverySessionSettings & service(TcpRecoveryService *service)
Associates the instance of the TCP Recovery service to be used by a Handler during market data proces...
TcpRecoverySessionSettings & servingTimeLimit(UInt32 servingTimeLimit)
Amount of time allocated to process a recovery request.
UInt32 attempts() const
Number of times a Handler must try to recover missing data using the TCP recovery before it switches ...
friend class SessionSettings
Lets grouping and value assignment control functioning.
TcpRecoverySessionSettings & attempts(UInt32 qty)
Updates number of times a Handler must try to recover missing data using the TCP recovery before it s...
TcpRecoverySessionSettings(const TcpRecoverySessionSettings &other)
Initializes the instance as a copy of the other one.
void setSessionToRecoverInstrumentsFast(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments using fast strategy each time ins...
void setSessionToJoinInPreopening(SessionSettings &settings)
Updates session settings to tell the Handler to skip join-time recovery and switch processing increme...
void setSessionToRecoverMboBooksOnly(SessionSettings &settings)
Updates session settings to recover MBO books only each time the Handler recovers market state from s...
void setSessionToRecoverMbpBooksOnly(SessionSettings &settings)
Updates session settings to recover MBP books only each time the Handler recovers market state from s...
void setSessionToNaturalRefresh(SessionSettings &settings)
Configures session settings to maintain order books using natural refresh.
void setSessionToFullRecoverUponRealtimeIssues(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments and market state (books) in case ...
void toStr(std::string &, BookState::Enum)
Serializes book state value into a string.
void setSessionToRecoverBothMboAndMbpBooks(SessionSettings &settings)
Updates session settings to recover books of all types each time the Handler recovers market state fr...
void setSessionToRecoverInstrumentsAccurately(SessionSettings &settings)
Various functions helping in configuring session in the desired way.
void setSessionToContinueRealtimeProcessingUponIssues(SessionSettings &settings)
Updates session settings to tell the Handler continue processing incremental (real-time) data in case...
void setSessionToLateJoin(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments and market state before it switch...
void setSessionToRecoverBooksUponRealtimeIssues(SessionSettings &settings)
Updates session settings to tell the Handler to recover market state (books) in case of gap or other ...
void setSessionToAccurateLateJoin(SessionSettings &settings)
Configures session to maintain order books accurately and considering market data processing is start...
void setSessionToAccuratePreopening(SessionSettings &settings)
Configures session to maintain order books accurately and without performing initial (late-join) reco...
AccurateLateJoinMboSession()
Configures session settings according to specialization.
AccurateLateJoinMbpSession()
Configures session settings according to specialization.
AccurateLateJoinSession()
Configures session settings according to specialization.
AccuratePreopeningMboSession()
Configures session settings according to specialization.
AccuratePreopeningMbpSession()
Configures session settings according to specialization.
AccuratePreopeningSession()
Configures session settings according to specialization.
Defines the way Handler has to handle gap in real-time (incremental) data.
Enum
Defines the way Handler has to handle gap in real-time (incremental) data.
@ ContinueProcessing
Handler continues processing of real-time market data.
@ RecoverMarketState
Handler recovers market state from snapshots.
@ RecoverInstrumentsAndMarketState
Handler recovers instruments and market state afterwards.
Defines different ways of instrument definition recovery.
@ Fast
The fast mode allows to start processing instrument definitions from the middle of a recovery loop wi...
@ Accurate
The given strategy tells the Handler to recover instruments in the most accurate way.
Defines type of recovery to be done by Handler at the time it joins market.
Enum
Defines type of recovery to be done by Handler while it joins market.
@ InstrumentsAndMarketState
Instructs Handler to perform full recovery (both instruments and market state (books,...
@ Instruments
Instructs Handler to recover instruments before switching to real-time (incremental data) processing.
@ Disabled
No recovery is to be done at join time.
Defines market state recovery options.
@ MboOnly
Only market by order books will be recovered during market state recovery.
@ BothMboAndMbp
Both market by price and market by order books will be recovered during market state recovery.
@ MbpOnly
Only market by price books will be recovered during market state recovery.
NaturalRefreshSession()
Configures session settings according to specialization.
Represents a service controlling change/update operations for the collections of settings.