OnixS C++ eSpeed ITCH Market Data Handler  1.7.3
API documentation
Defines.h
Go to the documentation of this file.
1 /*
2 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19 
20 #pragma once
21 
26 
27 #include <string>
28 #include <ostream>
29 #include <memory>
30 
32 
33 /// Aliases message length type.
34 typedef UInt16 MessageSize;
35 
36 /// Alias for Sequence Number type.
37 typedef UInt64 SequenceNumber;
38 
39 /// Alias for OrderId type.
40 typedef UInt64 OrderId;
41 
42 /// Alias for Security Id type.
43 typedef UInt32 OrderBookId;
44 
45 /// Alias for Quantity type.
46 typedef UInt32 Quantity;
47 
48 /// Alias for Price type (4 bytes).
49 typedef Int32 Price4;
50 
51 /// Alias for Price type (8 bytes).
52 typedef Int64 Price8;
53 
54 
55 /// Data source
56 struct ONIXS_ESPEED_ITCH_API DataSource
57 {
58  enum Origin
59  {
60  multicast = 0,
61  replay = 1,
62  glimpse = 2,
63  };
64 
65  /// Time when the packet was received by Handler from UDP, in system ticks, @see Time.h
67 
68  /// Message sequence number
70 
71  /// Number of message in packet
73 
74  /// Message sequence number
75  UInt64 messageSeqNum;
76 
77  /// Session Id
78  const Byte* session;
79 
80  /// the way data received
82 
83  std::string toString () const;
84 };
85 
86 ONIXS_ESPEED_ITCH_API std::ostream& operator << (std::ostream& stream, const DataSource& ds);
87 
#define ONIXS_ESPEED_ITCH_NAMESPACE_END
Definition: Bootstrap.h:31
UInt8 packetMessageNumber
Number of message in packet.
Definition: Defines.h:72
#define ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN
Definition: Bootstrap.h:27
Origin origin
the way data received
Definition: Defines.h:81
ONIXS_ESPEED_ITCH_API std::ostream & operator<<(std::ostream &stream, const DataSource &ds)
UInt32 Quantity
Alias for Quantity type.
Definition: Defines.h:46
UInt64 messageSeqNum
Message sequence number.
Definition: Defines.h:75
ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN typedef UInt8 Byte
Alias for Byte.
Definition: Memory.h:30
ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN typedef UInt16 MessageSize
Aliases message length type.
Definition: Defines.h:34
UInt16 packetMessageCount
Message sequence number.
Definition: Defines.h:69
UInt64 OrderId
Alias for OrderId type.
Definition: Defines.h:40
Int32 Price4
Alias for Price type (4 bytes).
Definition: Defines.h:49
Int64 Price8
Alias for Price type (8 bytes).
Definition: Defines.h:52
Timestamp packetReceptionTime
Time when the packet was received by Handler from UDP, in system ticks,.
Definition: Defines.h:66
UInt64 SequenceNumber
Alias for Sequence Number type.
Definition: Defines.h:37
const Byte * session
Session Id.
Definition: Defines.h:78
Data source.
Definition: Defines.h:56
Represents timestamp without time-zone information.
Definition: Timestamp.h:89
UInt32 OrderBookId
Alias for Security Id type.
Definition: Defines.h:43