OnixS C++ CME MDP Premium Market Data Handler  5.8.3
API Documentation
SessionSettings.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
23 #include <string>
24 
25 #include <OnixS/CME/MDH/Integral.h>
27 
29 
30 /// Defines type of recovery to be done
31 /// by Handler at the time it joins market.
33 {
34  /// Integral type serving as
35  /// basement for given enumeration.
36  typedef UInt32 Base;
37 
38  /// Defines type of recovery to be done
39  /// by Handler while it joins market.
40  enum Enum
41  {
42  /// No recovery is to be done at join time.
43  /// Handler will switch to real-time data
44  /// processing immediately.
46 
47  /// Instructs Handler to recover instruments before
48  /// switching to real-time (incremental data) processing.
50 
51  /// Instructs Handler to perform full recovery (both instruments
52  /// and market state (books, last trades, statistics, etc))
53  /// before switching to real-time (incremental) data processing.
54  InstrumentsAndMarketState
55  };
56 };
57 
58 /// Serializes join recovery option.
60 void toStr(std::string&, JoinRecoveryOptions::Enum);
61 
62 /// Serializes join recovery option.
63 inline std::string toStr(JoinRecoveryOptions::Enum recovery)
64 {
65  std::string str;
66 
67  toStr(str, recovery);
68 
69  return str;
70 }
71 
72 /// Defines the way Handler has to handle
73 /// gap in real-time (incremental) data.
75 {
76  /// Integral type serving as
77  /// basement for given enumeration.
78  typedef UInt32 Base;
79 
80  /// Defines the way Handler has to handle
81  /// gap in real-time (incremental) data.
82  enum Enum
83  {
84  /// Handler recovers market state from snapshots.
86 
87  /// Handler recovers instruments and market state afterwards.
89 
90  /// Handler continues processing of real-time market data.
91  ContinueProcessing
92  };
93 };
94 
95 /// Serializes gap and error handling option.
97 void toStr(std::string&, GapAndErrorHandlingOptions::Enum);
98 
99 /// Serializes gap and error handling option.
100 inline std::string toStr(GapAndErrorHandlingOptions::Enum handling)
101 {
102  std::string str;
103 
104  toStr(str, handling);
105 
106  return str;
107 }
108 
109 /// Defines different ways of instrument definition recovery.
111 {
112  /// Integral type used as basement for constants.
113  typedef UInt32 Base;
114 
115  enum Enum
116  {
117  /// The given strategy tells the Handler to recover instruments
118  /// in the most accurate way. In particular, the Handler processes
119  /// instrument definitions from the beginning of a recovery loop.
120  /// If the Handler joins instrument recovery feed in the middle
121  /// of a recovery loop, incoming data is ignored until a new loop
122  /// begins. Also, if the Handler detects gap in a sequence of
123  /// incoming packets, it will stop processing instrument definitions
124  /// till the end of a loop and restart the recovery from the beginning
125  /// of a new loop.
126  /// The given way to recover instruments is highly recommended for
127  /// the channels, where user-defined instruments are frequently added
128  /// or removed during the trading week.
129  /// Accurate recovery may take longer due to necessity to wait for
130  /// the beginning of a new loop caused by join at the middle of a
131  /// prior loop or data loss.
133 
134  /// The fast mode allows to start processing instrument definitions
135  /// from the middle of a recovery loop without waiting for the beginning
136  /// of the next loop. In case of data loss, missing definitions are
137  /// recovered from the next loops. The given approach allows to recover
138  /// quickly. However, the recovered set of instruments may not be accurate
139  /// because of differences in the recovery loops from where the recovery
140  /// data was taken.
141  Fast
142  };
143 };
144 
145 /// Serializes instrument definition recovery strategy.
147 void toStr(std::string&, InstrumentRecoveryOptions::Enum);
148 
149 /// Serializes instrument definition recovery strategy.
150 inline std::string toStr(InstrumentRecoveryOptions::Enum option)
151 {
152  std::string str;
153 
154  toStr(str, option);
155 
156  return str;
157 }
158 
159 /// Defines market state recovery options.
161 {
162  /// Integral type serving as
163  /// basement for given enumeration.
164  typedef UInt32 Base;
165 
166  enum Enum
167  {
168  /// Only market by price books will be
169  /// recovered during market state recovery.
171 
172  /// Only market by order books will be
173  /// recovered during market state recovery.
175 
176  /// Both market by price and market by order
177  /// books will be recovered during market
178  /// state recovery.
179  BothMboAndMbp
180  };
181 };
182 
183 /// Serializes market recovery option.
185 void toStr(std::string&, MarketRecoveryOptions::Enum);
186 
187 /// Serializes market recovery option.
188 inline std::string toStr(MarketRecoveryOptions::Enum option)
189 {
190  std::string str;
191 
192  toStr(str, option);
193 
194  return str;
195 }
196 
198 
199 /// Collection of session settings related to TCP recovery.
201 {
202 public:
203  /// Initializes the instance with the default values.
204  ///
205  /// Optional group parameter lets to make the
206  /// instance belonging to a given group of settings.
208  : group_(group ? *group : SettingGroup::null())
209  , service_(ONIXS_CMEMDH_NULLPTR)
210  , attempts_(1)
211  , servingTimeLimit_(10)
212  {
213  }
214 
215  /// Initializes the instance as a copy
216  /// of the other one. Grouping and value
217  /// assignment control services are not
218  /// copied.
220  : group_(SettingGroup::null())
221  , service_(other.service_)
222  , attempts_(other.attempts_)
223  , servingTimeLimit_(other.servingTimeLimit_)
224  {
225  }
226 
227  /// Finalizes the instance.
229 
230  /// An instance of the TCP recovery
231  /// service if there's any associated.
232  ///
233  /// Null instance indicates no service is
234  /// associated and thus TCP recovery is disabled
235  /// during market data processing session.
237  {
238  return service_;
239  }
240 
241  /// Associates the instance of the TCP Recovery
242  /// service to be used by a Handler during market
243  /// data processing session.
245  {
246  group_.controlAssignment("TCP Recovery Service Instance", service_, service);
247 
248  return *this;
249  }
250 
251  /// Number of times a Handler must try to recover
252  /// missing data using the TCP recovery before it
253  /// switches to recover market state from snapshots
254  /// or resumes incremental data processing by natural
255  /// refresh.
256  UInt32 attempts() const
257  {
258  return attempts_;
259  }
260 
261  /// Updates number of times a Handler must try
262  /// to recover missing data using the TCP recovery
263  /// before it switches to recover market state from
264  /// snapshots or resumes incremental data processing
265  /// by natural refresh.
267  {
268  group_.controlAssignment("TCP Recovery Attempt Quantity", attempts_, qty);
269 
270  return *this;
271  }
272 
273  /// Amount of time allocated to process a
274  /// recovery request. TCP recovery service
275  /// interrupts request processing if it can't
276  /// be accomplished within given time frame.
277  ///
278  /// Interval is measured in seconds.
279  ///
280  /// @note Default value is '10'.
282  {
283  return servingTimeLimit_;
284  }
285 
286  /// Amount of time allocated to process a
287  /// recovery request. TCP recovery service
288  /// interrupts request processing if it can't
289  /// be accomplished within given time frame.
290  ///
291  /// Interval is measured in seconds.
293  {
294  group_.controlAssignment("TCP Recovery Serving Time Limit", servingTimeLimit_, servingTimeLimit);
295 
296  return *this;
297  }
298 
299  /// Re-initializes as a copy of the other one. Grouping
300  /// and value assignment control services aren't copied.
302  {
303  group_.controlChange(
304  "TCP Recovery Session Settings", &TcpRecoverySessionSettings::assignNoControl, *this, other
305  );
306 
307  return *this;
308  }
309 
310 private:
311  /// Lets grouping and value assignment control functioning.
313 
314  const SettingGroup& group_;
315 
316  TcpRecoveryService* service_;
317 
318  UInt32 attempts_;
319  UInt32 servingTimeLimit_;
320 
321  // Re-initializes the instance as a copy of the
322  // other one and bypassing assignment control.
323  void assignNoControl(const TcpRecoverySessionSettings& other)
324  {
325  service_ = other.service_;
326 
327  attempts_ = other.attempts_;
328 
329  servingTimeLimit_ = other.servingTimeLimit_;
330  }
331 };
332 
333 /// Serializes market recovery option.
335 void toStr(std::string&, const TcpRecoverySessionSettings&);
336 
337 /// Serializes market recovery option.
338 inline std::string toStr(const TcpRecoverySessionSettings& settings)
339 {
340  std::string str;
341 
342  toStr(str, settings);
343 
344  return str;
345 }
346 
347 /// Basic set of parameters affecting behavior of the
348 /// Handler when the market data processing is performed.
350 {
351 public:
352  /// Initializes parameters with default values.
354  : SettingGroup(controller)
355  , joinRecovery_(JoinRecoveryOptions::InstrumentsAndMarketState)
356  , gapAndErrorHandling_(GapAndErrorHandlingOptions::RecoverMarketState)
357  , instrumentRecovery_(InstrumentRecoveryOptions::Accurate)
358  , marketRecovery_(MarketRecoveryOptions::BothMboAndMbp)
359  , tcpRecovery_(&group())
360  {
361  }
362 
363  /// Re-initializes settings as copies of
364  /// the other ones omitting group belonging.
366  : SettingGroup()
367  , joinRecovery_(other.joinRecovery_)
368  , gapAndErrorHandling_(other.gapAndErrorHandling_)
369  , instrumentRecovery_(other.instrumentRecovery_)
370  , marketRecovery_(other.marketRecovery_)
371  , tcpRecovery_(other.tcpRecovery_)
372  {
373  }
374 
375  /// Cleans everything up.
377 
378  /// Defines aspects of recovery
379  /// to be done at market join stage.
380  ///
381  /// @note Default value is
382  /// JoinRecovery::InstrumentsAndMarket.
384  {
385  return joinRecovery_;
386  }
387 
388  /// Defines aspects of recovery
389  /// to be done at market join stage.
391  {
392  group().controlAssignment("Join Recovery Strategy", joinRecovery_, recovery);
393 
394  return *this;
395  }
396 
397  /// Defines what Handler should do in case
398  /// of gap in real-time (incremental) data.
399  ///
400  /// @note Default value is
401  /// GapAndErrorHandling::RecoverMarketState.
403  {
404  return gapAndErrorHandling_;
405  }
406 
407  /// Defines what Handler should do in case
408  /// of gap in real-time (incremental) data.
410  {
411  group().controlAssignment("Gap And Error Handling Strategy", gapAndErrorHandling_, handling);
412 
413  return *this;
414  }
415 
416  /// Indicates how instrument definitions are recovered.
417  ///
418  /// @note Default value is InstrumentRecoveryOptions::Accurate.
420  {
421  return instrumentRecovery_;
422  }
423 
424  /// Defines how instrument definitions are recovered.
426  {
427  group().controlAssignment("Instrument Recovery Strategy", instrumentRecovery_, recovery);
428 
429  return *this;
430  }
431 
432  /// Defines selected market recovery options.
433  ///
434  /// @note Default value is MarketRecovery::BothMboAndMbp.
436  {
437  return marketRecovery_;
438  }
439 
440  /// Defines market recovery options.
442  {
443  group().controlAssignment("Market Recovery Strategy", marketRecovery_, recovery);
444 
445  return *this;
446  }
447 
448  /// Set of TCP recovery settings.
450  {
451  return tcpRecovery_;
452  }
453 
454  /// Editable set of TCP recovery settings.
456  {
457  return tcpRecovery_;
458  }
459 
460  /// Copies settings from the given instance.
461  ///
462  /// Attributes controlling value assignment aren't
463  /// cloned and thus only settings' values are copied.
465  {
466  group().controlChange("Session Settings", &SessionSettings::assignNoControl, *this, other);
467 
468  return *this;
469  }
470 
471 protected:
472  /// Instance of the group to which
473  /// the given settings belongs.
474  const SettingGroup& group() const
475  {
476  return *this;
477  }
478 
479  /// Re-initializes the instance as a copy of the
480  /// other one and bypassing assignment control.
481  void assignNoControl(const SessionSettings& other)
482  {
483  assignNoControlLegacy(other);
484 
485  tcpRecovery_.assignNoControl(other.tcpRecovery_);
486  }
487 
489  {
490  joinRecovery_ = other.joinRecovery_;
491 
492  gapAndErrorHandling_ = other.gapAndErrorHandling_;
493 
494  instrumentRecovery_ = other.instrumentRecovery_;
495 
496  marketRecovery_ = other.marketRecovery_;
497  }
498 
499 private:
500  JoinRecoveryOptions::Enum joinRecovery_;
501  GapAndErrorHandlingOptions::Enum gapAndErrorHandling_;
502 
503  InstrumentRecoveryOptions::Enum instrumentRecovery_;
504  MarketRecoveryOptions::Enum marketRecovery_;
505 
506  TcpRecoverySessionSettings tcpRecovery_;
507 
509  friend struct LegacyAssigner;
510 };
511 
512 /// Serializes market data processing session settings.
514 void toStr(std::string&, const SessionSettings&);
515 
516 /// Serializes market data processing session settings.
517 inline std::string toStr(const SessionSettings& settings)
518 {
519  std::string str;
520 
521  toStr(str, settings);
522 
523  return str;
524 }
525 
526 ///
527 /// Various functions helping in configuring session in the desired way.
528 ///
529 
530 /// Updates session settings to tell the Handler
531 /// to recover instruments using accurate strategy
532 /// each time instrument recovery is performed.
534 {
535  settings.instrumentRecovery(InstrumentRecoveryOptions::Accurate);
536 }
537 
538 /// Updates session settings to tell the Handler
539 /// to recover instruments using fast strategy each
540 /// time instrument recovery is performed.
542 {
543  settings.instrumentRecovery(InstrumentRecoveryOptions::Fast);
544 }
545 
546 /// Updates session settings to tell the Handler
547 /// to skip join-time recovery and switch processing
548 /// incremental (real-time) data.
550 {
551  settings.joinRecovery(JoinRecoveryOptions::Disabled);
552 }
553 
554 /// Updates session settings to tell the Handler
555 /// to recover instruments and market state before
556 /// it switches processing incremental data.
557 inline void setSessionToLateJoin(SessionSettings& settings)
558 {
559  settings.joinRecovery(JoinRecoveryOptions::InstrumentsAndMarketState);
560 }
561 
562 /// Updates session settings to recover
563 /// books of all types each time the Handler
564 /// recovers market state from snapshots.
566 {
567  settings.marketRecovery(MarketRecoveryOptions::BothMboAndMbp);
568 }
569 
570 /// Updates session settings to recover
571 /// MBO books only each time the Handler
572 /// recovers market state from snapshots.
574 {
575  settings.marketRecovery(MarketRecoveryOptions::MboOnly);
576 }
577 
578 /// Updates session settings to recover
579 /// MBP books only each time the Handler
580 /// recovers market state from snapshots.
582 {
583  settings.marketRecovery(MarketRecoveryOptions::MbpOnly);
584 }
585 
586 /// Updates session settings to tell the
587 /// Handler to recover instruments and market
588 /// state (books) in case of gap or other issue.
590 {
591  settings.gapAndErrorHandling(GapAndErrorHandlingOptions::RecoverInstrumentsAndMarketState);
592 }
593 
594 /// Updates session settings to tell the
595 /// Handler to recover market state (books)
596 /// in case of gap or other issue.
598 {
599  settings.gapAndErrorHandling(GapAndErrorHandlingOptions::RecoverMarketState);
600 }
601 
602 /// Updates session settings to tell the Handler
603 /// continue processing incremental (real-time)
604 /// data in case of gap or other issue.
606 {
607  settings.gapAndErrorHandling(GapAndErrorHandlingOptions::ContinueProcessing);
608 }
609 
610 // Complex (one-call) setup.
611 
612 /// Configures session to maintain order books
613 /// accurately and without performing initial
614 /// (late-join) recovery thus considering market
615 /// data processing is started from the beginning
616 /// of weekly session.
618 {
623 }
624 
625 /// Configures session to maintain order
626 /// books accurately and considering market
627 /// data processing is started at the middle
628 /// of weekly session (late join).
630 {
633  setSessionToLateJoin(settings);
635 }
636 
637 /// Configures session settings to maintain
638 /// order books using natural refresh. Startup
639 /// recovery is not performed and thus only
640 /// real-time processing takes place.
642 {
645 }
646 
647 // Deprecated way of session setup.
648 
649 #if !defined(ONIXS_CMEMDH_NO_DEPRECATED)
650 
651 /// Settings for session with accurate book
652 /// maintenance and considering market data
653 /// processing is started from the beginning
654 /// of weekly session.
656 {
657  /// Configures session settings
658  /// according to specialization.
660  {
662  }
663 };
664 
665 /// Settings for session with accurate book maintenance
666 /// and considering market data processing is started
667 /// from the beginning of weekly session. Market recovery
668 /// is limited to recovery market by order books only.
670 {
671  /// Configures session settings
672  /// according to specialization.
674  {
677  }
678 };
679 
680 /// Settings for session with accurate book maintenance
681 /// and considering market data processing is started
682 /// from the beginning of weekly session. Market recovery
683 /// is limited to recovery market by price books only.
685 {
686  /// Configures session settings
687  /// according to specialization.
689  {
692  }
693 };
694 
695 /// Settings for session with accurate book
696 /// maintenance and considering market data
697 /// processing is started at the middle of
698 /// weekly session (late join).
700 {
701  /// Configures session settings
702  /// according to specialization.
704  : SessionSettings()
705  {
707  }
708 };
709 
710 /// Settings for session with accurate book maintenance
711 /// and considering market data processing is started at
712 /// the middle of weekly session (late join). Market recovery
713 /// is limited to recover market by order books only.
715 {
716  /// Configures session settings
717  /// according to specialization.
719  {
722  }
723 };
724 
725 /// Settings for session with accurate book maintenance
726 /// and considering market data processing is started at
727 /// the middle of weekly session (late join). Market recovery
728 /// is limited to recover market by price books only.
730 {
731  /// Configures session settings
732  /// according to specialization.
734  {
737  }
738 };
739 
740 /// Configures session settings to maintain
741 /// order books using natural refresh. Startup
742 /// recovery is not performed and thus only
743 /// real-time processing takes place.
745 {
746  /// Configures session settings
747  /// according to specialization.
749  : SessionSettings()
750  {
752  }
753 };
754 
755 #endif // ONIXS_CMEMDH_NO_DEPRECATED
756 
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&#39;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.
UInt32 UInt32
uInt32.
Definition: Fields.h:192
#define ONIXS_CMEMDH_NULLPTR
Definition: Compiler.h:145
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)
Definition: Bootstrap.h:35
#define ONIXS_CMEMDH_LTWT
Definition: Bootstrap.h:46
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.
Definition: SettingGroup.h:107
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
Definition: Bootstrap.h:67
SessionSettings(SettingChangeController *controller=nullptr)
Initializes parameters with default values.
Base services for settings grouped by a certain criteria.
Definition: SettingGroup.h:91
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
Definition: Compiler.h:135
#define ONIXS_CMEMDH_LTWT_CLASS_DECL(name)
Definition: Bootstrap.h:48
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&#39;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.
Definition: SettingGroup.h:33
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...
Definition: SettingGroup.h:118
void toStr(std::string &, BookState::Enum)
Serializes book state value into a string.
#define ONIXS_CMEMDH_NAMESPACE_END
Definition: Bootstrap.h:68