OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler  1.11.0
API documentation
QuoteUpdateAcknowledgement.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 
22 #include <vector>
23 
28 
29 
30 namespace OnixS {
31 namespace CboeCFE {
32 namespace Trading {
33 namespace BOE {
34 
35  /// Quote Update Acknowledgment messages are sent in response to a Quote Update message.
36  struct ONIXS_CBOE_CFE_BOE_API QuoteUpdateAcknowledgement : public BinaryMessage
37  {
38  /// The time the event occurred in the CFE Matching Engine (not the time the message was sent).
40  {
41  return ordinary<DateTime>(0);
42  }
43 
44  /// Echoed back from the TPH message
46  {
47  return fixedStr<16>(8);
48  }
49 
50  /// The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inbound message being acknowledged.
52  {
53  return ordinary<DateTime>(24);
54  }
55 
56  /// Quotes.
57  Binary1 quoteCnt() const
58  {
59  return ordinary<Binary1>(32);
60  }
61 
62  struct Quote : public BinaryMessage
63  {
64  /// Order identifier supplied by CFE.
65  Binary8 orderId() const
66  {
67  return ordinary<Binary8>(0);
68  }
69 
70  /// Result of the quote request.
72  {
73  return enumeration<QuoteResult>(8);
74  }
75 
76  /// Additional information about the liquidity of an order.
78  {
79  return enumeration<SubLiquidityIndicator>(9);
80  }
81 
82  /// Initializes instance over given memory block.
83  Quote(const void* data, MessageSize size)
84  : BinaryMessage(data, size)
85  {
86  }
87  };
88 
89  ///
90  Quote quotes(MessageSize index) const
91  {
92  if (index >= quoteCnt())
93  throw std::out_of_range("index");
94  return submessage<Quote>(32 + 1 + 10 * index, 10);
95  }
96 
97  /// Initializes instance over given memory block.
98  QuoteUpdateAcknowledgement(const void* data, MessageSize size)
99  : BinaryMessage(data, size)
100  {
101  }
102  };
103 
104  /// Serializes object into string.
105  ONIXS_CBOE_CFE_BOE_API void toStr(std::string&, const QuoteUpdateAcknowledgement&);
106 
107  /// Serializes object into string.
108  inline std::string toStr(const QuoteUpdateAcknowledgement& msg)
109  {
110  std::string str;
111  toStr(str, msg);
112  return str;
113  }
114 
115 }
116 }
117 }
118 }
Provides efficient way of accessing text-based field values.
Definition: String.h:45
Encapsulates services for manipulating little endian encoded messages.
Quote(const void *data, MessageSize size)
Initializes instance over given memory block.
void toStr(std::string &str, const FixedPointDecimal< Mantissa, Exponent > &number)
Serializes fixed-point decimal into a string.
Definition: Decimal.h:156
SubLiquidityIndicator::Enum subLiquidityIndicator() const
Additional information about the liquidity of an order.
Binary2 MessageSize
Aliases message length type.
DateTime requestReceivedTime() const
The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inb...
QuoteUpdateAcknowledgement(const void *data, MessageSize size)
Initializes instance over given memory block.
StrRef quoteUpdateId() const
Echoed back from the TPH message.
DateTime transactionTime() const
The time the event occurred in the CFE Matching Engine (not the time the message was sent)...
QuoteResult::Enum quoteResult() const
Result of the quote request.
Quote Update Acknowledgment messages are sent in response to a Quote Update message.
Binary8 orderId() const
Order identifier supplied by CFE.