54 InstrumentsAndMarketState
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_;
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);
466 group().
controlChange(
"Session Settings", &SessionSettings::assignNoControl, *
this, other);
483 assignNoControlLegacy(other);
485 tcpRecovery_.assignNoControl(other.tcpRecovery_);
490 joinRecovery_ = other.joinRecovery_;
492 gapAndErrorHandling_ = other.gapAndErrorHandling_;
494 instrumentRecovery_ = other.instrumentRecovery_;
496 marketRecovery_ = other.marketRecovery_;
509 friend struct LegacyAssigner;
521 toStr(str, settings);
559 settings.
joinRecovery(JoinRecoveryOptions::InstrumentsAndMarketState);
591 settings.
gapAndErrorHandling(GapAndErrorHandlingOptions::RecoverInstrumentsAndMarketState);
649 #if !defined(ONIXS_CMEMDH_NO_DEPRECATED) 755 #endif // ONIXS_CMEMDH_NO_DEPRECATED TcpRecoverySessionSettings & attempts(UInt32 qty)
Updates number of times a Handler must try to recover missing data using the TCP recovery before it s...
AccuratePreopeningMboSession()
Configures session settings according to specialization.
void setSessionToRecoverInstrumentsFast(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments using fast strategy each time ins...
Handler's configuration settings.
void setSessionToRecoverBothMboAndMbpBooks(SessionSettings &settings)
Updates session settings to recover books of all types each time the Handler recovers market state fr...
TcpRecoverySessionSettings(const SettingGroup *group=nullptr)
Initializes the instance with the default values.
UInt32 attempts() const
Number of times a Handler must try to recover missing data using the TCP recovery before it switches ...
Only market by order books will be recovered during market state recovery.
void setSessionToRecoverBooksUponRealtimeIssues(SessionSettings &settings)
Updates session settings to tell the Handler to recover market state (books) in case of gap or other ...
Collection of session settings related to TCP recovery.
Only market by price books will be recovered during market state recovery.
#define ONIXS_CMEMDH_NULLPTR
Defines the way Handler has to handle gap in real-time (incremental) data.
Settings for session with accurate book maintenance and considering market data processing is started...
void setSessionToRecoverMbpBooksOnly(SessionSettings &settings)
Updates session settings to recover MBP books only each time the Handler recovers market state from s...
SessionSettings & marketRecovery(MarketRecoveryOptions::Enum recovery)
Defines market recovery options.
AccurateLateJoinMboSession()
Configures session settings according to specialization.
Instructs Handler to recover instruments before switching to real-time (incremental data) processing...
void assignNoControl(const SessionSettings &other)
Re-initializes the instance as a copy of the other one and bypassing assignment control.
void setSessionToLateJoin(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments and market state before it switch...
Handler recovers market state from snapshots.
AccurateLateJoinMbpSession()
Configures session settings according to specialization.
~SessionSettings()
Cleans everything up.
#define ONIXS_CMEMDH_EXPORTED_CLASS_DECL(typeName)
#define ONIXS_CMEMDH_LTWT
const TcpRecoverySessionSettings & tcpRecovery() const
Set of TCP recovery settings.
void controlAssignment(const Char *description, Assignee &assignee, Value value) const
Guarded assignment of the given value to the given variable.
Settings for session with accurate book maintenance and considering market data processing is started...
Enum
Defines type of recovery to be done by Handler while it joins market.
void setSessionToJoinInPreopening(SessionSettings &settings)
Updates session settings to tell the Handler to skip join-time recovery and switch processing increme...
The given strategy tells the Handler to recover instruments in the most accurate way.
AccurateLateJoinSession()
Configures session settings according to specialization.
SessionSettings & gapAndErrorHandling(GapAndErrorHandlingOptions::Enum handling)
Defines what Handler should do in case of gap in real-time (incremental) data.
Settings for session with accurate book maintenance and considering market data processing is started...
Configures session settings to maintain order books using natural refresh.
Handler recovers instruments and market state afterwards.
SessionSettings(const SessionSettings &other)
Re-initializes settings as copies of the other ones omitting group belonging.
#define ONIXS_CMEMDH_NAMESPACE_BEGIN
SessionSettings(SettingChangeController *controller=nullptr)
Initializes parameters with default values.
Base services for settings grouped by a certain criteria.
AccuratePreopeningSession()
Configures session settings according to specialization.
Basic set of parameters affecting behavior of the Handler when the market data processing is performe...
Defines different ways of instrument definition recovery.
const SettingGroup & group() const
Instance of the group to which the given settings belongs.
SessionSettings & joinRecovery(JoinRecoveryOptions::Enum recovery)
Defines aspects of recovery to be done at market join stage.
void setSessionToRecoverMboBooksOnly(SessionSettings &settings)
Updates session settings to recover MBO books only each time the Handler recovers market state from s...
UInt32 Base
Integral type used as basement for constants.
#define ONIXS_CMEMDH_EXPORTED
#define ONIXS_CMEMDH_LTWT_CLASS_DECL(name)
No recovery is to be done at join time.
Defines type of recovery to be done by Handler at the time it joins market.
TcpRecoverySessionSettings & operator=(const TcpRecoverySessionSettings &other)
Re-initializes as a copy of the other one.
void setSessionToContinueRealtimeProcessingUponIssues(SessionSettings &settings)
Updates session settings to tell the Handler continue processing incremental (real-time) data in case...
void setSessionToAccurateLateJoin(SessionSettings &settings)
Configures session to maintain order books accurately and considering market data processing is start...
GapAndErrorHandlingOptions::Enum gapAndErrorHandling() const
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.
TcpRecoverySessionSettings(const TcpRecoverySessionSettings &other)
Initializes the instance as a copy of the other one.
NaturalRefreshSession()
Configures session settings according to specialization.
TcpRecoverySessionSettings & servingTimeLimit(UInt32 servingTimeLimit)
Amount of time allocated to process a recovery request.
TcpRecoveryService * service() const
An instance of the TCP recovery service if there's any associated.
~TcpRecoverySessionSettings()
Finalizes the instance.
std::string toStr(const SessionSettings &settings)
Serializes market data processing session settings.
MarketRecoveryOptions::Enum marketRecovery() const
Defines selected market recovery options.
Represents a service controlling change/update operations for the collections of settings.
void setSessionToNaturalRefresh(SessionSettings &settings)
Configures session settings to maintain order books using natural refresh.
UInt32 Base
Integral type serving as basement for given enumeration.
UInt32 Base
Integral type serving as basement for given enumeration.
UInt32 Base
Integral type serving as basement for given enumeration.
Enum
Defines the way Handler has to handle gap in real-time (incremental) data.
AccuratePreopeningMbpSession()
Configures session settings according to specialization.
TcpRecoverySessionSettings & service(TcpRecoveryService *service)
Associates the instance of the TCP Recovery service to be used by a Handler during market data proces...
void setSessionToFullRecoverUponRealtimeIssues(SessionSettings &settings)
Updates session settings to tell the Handler to recover instruments and market state (books) in case ...
Defines market state recovery options.
UInt32 servingTimeLimit() const
Amount of time allocated to process a recovery request.
Settings for session with accurate book maintenance and considering market data processing is started...
Settings for session with accurate book maintenance and considering market data processing is started...
SessionSettings & operator=(const SessionSettings &other)
Copies settings from the given instance.
TcpRecoverySessionSettings & tcpRecovery()
Editable set of TCP recovery settings.
void assignNoControlLegacy(const SessionSettings &other)
JoinRecoveryOptions::Enum joinRecovery() const
Defines aspects of recovery to be done at market join stage.
InstrumentRecoveryOptions::Enum instrumentRecovery() const
Indicates how instrument definitions are recovered.
Settings for session with accurate book maintenance and considering market data processing is started...
void setSessionToRecoverInstrumentsAccurately(SessionSettings &settings)
Various functions helping in configuring session in the desired way.
void setSessionToAccuratePreopening(SessionSettings &settings)
Configures session to maintain order books accurately and without performing initial (late-join) reco...
void controlChange(const Char *description, void(Changeable::*change)(), Changeable &changeable) const
Guarded invoke of the given routine which assumes complex change or update for the given object...
void toStr(std::string &, BookState::Enum)
Serializes book state value into a string.
#define ONIXS_CMEMDH_NAMESPACE_END