1 \addtogroup new-features
3 \brief Summaries major features and improvements of given release.
5 \section new-messaging-api The New Messaging Subsystem
7 The messaging subsystem has been redesigned in the SDK. Previously,
8 a message was representing a FIX container that provided access to
9 the field values using tags as keys. Also, the processing machinery
10 used generic SBE (Simple Binary Encoding) decoder to extract data from
11 the SBE-encoded content transmitted by CME MDP and to build a FIX message.
13 The given approach of manipulating market data provided certain benefit
14 as it allowed to work with all market data through a unified FIX container.
15 The drawback of the given approach was latency. SBE-encoded content had to
16 decoded and copied to the FIX container on a processing layer.
18 The messaging subsystem has been redesigned to provide customers
19 with maximal performance, and now the API exposes classes for each
20 type of SBE message defined by SBE coding templates.
22 The given approach allows the customers to be much closer to the
23 original data transmitted by CME, as the SBE to FIX mapping is rather
24 semantical and thus losses certain important characteristics which
25 the customers may require.
27 Also, the performance is dramatically improved due to eliminating SBE
28 to FIX transformation subsystem, and now data is directly accessed without
29 any intermediate copying.
31 \section new-listeners New Events And Listeners
33 Events and listeners, reflecting miscellaneous aspects
34 of the Handler behavior, have been redesigned, and now
35 are more consistent compare to the previous design.
37 The table below represents a quick overview of major
38 listeners and key improvements.
46 <td>OnixS::CME::MDH::HandlerListener</td>
48 Encapsulates Handler events.
50 Previously, the Handler behavior-related events were spread
51 in a few listeners like a listener for the Handler state and
52 issues (warning, error). Now, everything is gathered into a
53 single listener. The states have been substituted with the
54 correspondent callbacks and enhanced.
56 For example, now the callback identifying the end of recovery
57 exposes the status of recovery completion indicating whether
58 the recovery is succeeded or failed with a detailed description
63 <td>OnixS::CME::MDH::MarketDataListener</td>
65 Encapsulates market data events.
67 The given listener is a close analog to the
68 OnixS::CME::MDP3::MessageProcessingListener exposed
69 by the previous generations of the SDK. However, it was
70 enhanced with packet-related events exposing original
71 data received by Handler instances.
75 <td>OnixS::CME::MDH::SecurityListener</td>
77 Encapsulates security-related events.
79 Previously, security-related events were raised through
80 a number of listeners like the OnixS::CME::MDP3::TradeListener
81 and the OnixS::CME::MDP3::DirectChangeBookLister.
86 \section new-session-settings Market Data Processing (Session) Settings
88 Previously, the way how Handler processed market data was defined by which
89 overload of the OnixS::CME::MDH::Handler::start member was used to spawning
92 Starting with version 4 of the SDK, the OnixS::CME::MDH::SessionSettings
93 class was invented to define market data processing for the session. Settings
94 are supplied to the OnixS::CME::MDH::Handler::start member as a parameter.
95 Currently, settings allow defining whether market data recovery must be done
96 at the beginning of market data processing or in case of data loss or other
97 processing error and so on. Also, settings allow defining which type of market
98 (by price or by order or both) is to be recovered. New parameters offer a wider
99 variety of processing ways compare to previous versions.
101 \section tcp-recovery-with-natural-refresh Using TCP Recovery With Natural Refresh
103 Previously, it was not possible to use TCP recovery service while maintaining
104 order books in natural refresh mode. Starting with version 4 of the SDK a
105 TCP recovery facility can be used while processing market data in any selected
108 \section new-book-management Book Management Improvements
110 The users must explicitly configure the Handler concerning which types
111 of order books are to be maintained starting with the given major release.
112 Previously, maintenance was defined by either the Handler's settings or
113 by the fact of associating correspondent book listener with a Handler
114 instance. See \ref book-handling for more information.
116 \section miscellaneous-new-features Miscellaneous
118 \ref what-is-new section enlists other features
119 and improvements as individual topics.
121 \see \ref migration-guide