OnixS C++ CME MDP Conflated UDP Handler  1.0.2
API documentation
TradeProcessing.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 
26 
28 
29 /// Defines different ways trades are processed.
32 {
33  /// Integral type used as basement for constants.
34  typedef UInt32 Base;
35 
36  enum Enum
37  {
38  /// Given strategy tells Handler to provide only
39  /// summary-level of trade data. Information on orders
40  /// related with a trade is not provided and only number
41  /// of orders is available. Trades are exposed by Handler
42  /// as soon as correspondent data is received without
43  /// any additional delays.
45 
46  /// Tells Handler to gather detailed information on orders
47  /// related with each trade. As a result, trades are exposed
48  /// with order ids referring to the trades in addition to
49  /// summary level information exposed by trades.
50  /// In this mode, trades may be exposed with delays, because
51  /// MDP sends order ids after trade summary data. Also,
52  /// data may be distributed across packets belonging to single
53  /// market event. Therefore, in general, given strategy may
54  /// be slower in compare to summary level. However, in 99%
55  /// entire data is transmitted within single packet, therefore
56  /// trades are exposed with no delay.
57  OrderDetails
58  };
59 };
60 
61 /// Serializes trade processing strategy.
62 ONIXS_CONFLATEDUDP_EXPORTED
63 void
64 toStr(
65  std::string&,
67 
68 /// Serializes trade processing strategy.
69 inline
70 std::string
72  TradeProcessing::Enum strategy)
73 {
74  std::string str;
75 
76  toStr(str, strategy);
77 
78  return str;
79 }
80 
UInt32 Base
Integral type used as basement for constants.
UInt32 UInt32
uInt32.
Definition: Fields.h:261
Defines different ways trades are processed.
#define ONIXS_CONFLATEDUDP_LTWT_STRUCT
Definition: Bootstrap.h:98
#define ONIXS_CONFLATEDUDP_NAMESPACE_END
Definition: Bootstrap.h:156
std::string toStr(TradeProcessing::Enum strategy)
Serializes trade processing strategy.
#define ONIXS_CONFLATEDUDP_NAMESPACE_BEGIN
Definition: Bootstrap.h:152