OnixS C++ LSE GTP Market Data Handler 1.0.6
API documentation
Loading...
Searching...
No Matches
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
27
28#include <string>
29#include <ostream>
30#include <memory>
31#include <set>
32
33namespace OnixS
34{
35 namespace LSE
36 {
37 namespace MarketData
38 {
39 namespace GTP
40 {
42 struct ONIXS_LSE_GTP_API DataSource
43 {
46
47 enum Origin
48 {
50 Replay = 1,
52 };
53
56
59
62
65
68
71
73 bool cached;
74
75 std::string toString () const;
76 };
77
79 typedef StrRef Alpha;
80
82 typedef UInt8 BitField;
83
85 typedef UInt8 Byte;
86
88 typedef StrRef Date;
89
91 typedef StrRef Time;
92
94 typedef UInt64 UDT;
95
97 typedef FixedPointDecimal
98 <
99 Int64,
100 IntegralConstant<Int8, -8>
101 >
103
105 typedef
107 <
108 UInt64,
109 IntegralConstant<Int8, -8>
110 >
112
114 typedef
116 <
117 Int64,
118 IntegralConstant<Int8, -4>
119 >
121
123 typedef
125 <
126 UInt64,
127 IntegralConstant<Int8, -4>
128 >
130
133
136
138 typedef UInt32 SequenceNumber;
139
141 typedef UInt16 MessageSize;
142
143 ONIXS_LSE_GTP_API std::ostream& operator << (std::ostream& stream, const DataSource& ds);
144
146 typedef size_t CpuIndex;
147
149 class ONIXS_LSE_GTP_API ThreadAffinity
150 {
151 typedef std::set<CpuIndex> CpuIndexes;
152
153 public:
156
159
162
164 bool empty() const;
165
167 void copyTo(CpuIndexes&) const;
168
170 bool insert(CpuIndex index);
171
173 bool erase(CpuIndex index);
174
176 void clear();
177
179 ThreadAffinity& operator = (const ThreadAffinity&);
180
182 std::string toString() const;
183
184 private:
185
187 CpuIndexes* indices_;
188 };
189 }
190 }
191 }
192}
193
Provides efficient way of accessing text-based FIX field values.
Definition String.h:46
std::string toString() const
Returns the string representation.
ThreadAffinity(const ThreadAffinity &)
Initializes as copy of other set.
bool empty() const
Indicates whether is empty.
~ThreadAffinity()
Utilizes all the resources.
bool erase(CpuIndex index)
Removes CPU index from the set.
bool insert(CpuIndex index)
Adds CPU index into set.
void copyTo(CpuIndexes &) const
Copies set into another set.
Represents time point without time-zone information.
Definition Time.h:482
FixedPointDecimal< Int64, IntegralConstant< Int8, -4 > > Price4
Signed Little-Endian encoded 64bit integer field with four implied decimal places.
Definition Defines.h:120
StrRef Time
Time specified in HHMMSS format using ASCII characters in a 24 hour clock format.
Definition Defines.h:91
StrRef DateAndTime
ISO 8601 date and time in the following string format:YYYY-MM-DDThh:mm:ss.ddddddZ.
Definition Defines.h:132
StrRef Date
Date specified in the YYYYMMDD format using ASCII characters.
Definition Defines.h:88
size_t CpuIndex
Zero-based index of CPU.
Definition Defines.h:146
FixedPointDecimal< UInt64, IntegralConstant< Int8, -4 > > Size4
Little-Endian encoded 64 bit unsigned integer with four implied decimal places.
Definition Defines.h:129
UInt64 UDT
time stamp (in UTC) = (date time per second resolution in unix time format) * 1,000,...
Definition Defines.h:94
FixedPointDecimal< UInt64, IntegralConstant< Int8, -8 > > Size
Little-Endian encoded 64 bit unsigned integer with eight implied decimal places.
Definition Defines.h:111
UInt16 MessageSize
Aliases message length type.
Definition Defines.h:141
StrRef MiFIDDecimal
These fields use standard ASCII character bytes to represent numeric values. They are left justified ...
Definition Defines.h:135
UInt8 BitField
A single byte used to hold up to eight 1-bit flags. Each bit will represent a Boolean flag....
Definition Defines.h:82
FixedPointDecimal< Int64, IntegralConstant< Int8, -8 > > Price
Signed Little-Endian encoded 64bit integer field with eight implied decimal places.
Definition Defines.h:102
UInt32 SequenceNumber
Alias for Sequence Number type.
Definition Defines.h:138
StrRef Alpha
These fields use standard ASCII character bytes. They are left justified and padded on the right with...
Definition Defines.h:79
ONIXS_LSE_GTP_API std::ostream & operator<<(std::ostream &stream, const ServiceDescriptor &descriptor)
UInt8 Byte
Alias for Byte.
Definition Memory.h:37
Origin origin
the way data received
Definition Defines.h:70
UInt8 packetMessageNumber
Number of message in packet.
Definition Defines.h:61
bool cached
The packet was cached due to incorrect sequence.
Definition Defines.h:73
Timestamp packetReceptionTime
Time when the packet was received by Handler from UDP, in system ticks,.
Definition Defines.h:55
Byte marketDataGroup
Market data group.
Definition Defines.h:67
DataSource(const Timestamp &ts)
Definition Defines.h:45
UInt32 messageSeqNum
Message sequence number.
Definition Defines.h:64
UInt8 packetMessageCount
Message sequence number.
Definition Defines.h:58