40 template <
typename Holder>
44 enum class SnapshotFullRefreshOrderBookInitializationTag {};
47 template <Messaging::UpdateAction::Enum Action>
49 Action == Messaging::UpdateAction::New>
54 template <
typename Holder>
62 message->setTotNumReports(totNumReports);
64 message->setLastMsgSeqNumProcessed(lastMsgSeqNumProcessed);
65 message->setNoChunks(numberOfChunks);
66 message->setCurrentChunk(currentChunk);
67 message->setTransactTime(transactTime);
73 template <
typename Holder>
79 typename decltype(message->entries())::Size size) { return message->entries(size); });
81 entry.setOrderId(orderId);
82 entry.setOrderPriority(orderPriority);
83 entry.setEntryPx(price);
84 entry.setDisplayQty(quantity);
85 entry.setEntryType(entryType);
101template <
typename Holder, details::SnapshotFullRefreshOrderBookInitializationTag...>
109 message, totNumReports,
securityId, lastMsgSeqNumProcessed,
110 numberOfChunks, currentChunk, transactTime);
122template <
typename Holder, details::SnapshotFullRefreshOrderBookInitializationTag...>
131 totNumReports,
securityId, lastMsgSeqNumProcessed,
132 numberOfChunks, currentChunk, transactTime))
137 totNumReports,
securityId, lastMsgSeqNumProcessed,
138 numberOfChunks, currentChunk, transactTime);
151template <
typename Holder>
158 message, orderId, orderPriority, price, quantity, entryType);
167 template <
typename Holder,
typename... Arguments>
168 static auto apply(Holder& message, Arguments&&... arguments) ->
decltype(
169 addEntry(message, std::forward<Arguments>(arguments)...),
173 message, std::forward<Arguments>(arguments)...);
181 static auto apply(Holder& message, Arguments&&... arguments) ->
typename std::enable_if<
184 message, std::forward<Arguments>(arguments)...))>::type
187 message, std::forward<Arguments>(arguments)...);
#define ONIXS_CME_MDH_TESTING_NAMESPACE_END
#define ONIXS_CME_MDH_TESTING_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_NODISCARD
The time point without the time-zone information.
Owns fixed-capacity storage for a prefixed CME message.
static Messaging::Timestamp now() noexcept
Returns current UTC time.
FixedPointDecimal< Int64, IntegralConstant< Int8, -9 > > Decimal9
Decimal with constant exponent -9.
std::uint32_t UInt32
uInt32.
auto makeInitializationRecipe(Arguments &&... arguments) -> typename std::enable_if< IsMutableMessageHolder< ExpectedHolder, Holder >::value, decltype(makeMessageRecipe< typename std::decay< Holder >::type >(makeMessageOperation< Operation >(std::forward< Arguments >(arguments)...)))>::type
typename std::enable_if< IsMutableMessageHolder< ExpectedHolder, Holder >::value, Holder & >::type EnableMutableMessageHolder
Messaging::SnapshotFullRefreshOrderBook53::Entry appendSnapshotFullRefreshOrderBookEntry(Holder &message, OrderId orderId, OrderPriority orderPriority, Messaging::Decimal9 price, DisplayQuantity quantity, Messaging::EntryTypeBook::Enum entryType)
Group::Entry appendGroupEntry(Group group, Resize resize)
EnableMutableMessageHolder< SnapshotFullRefreshOrderBook, Holder > EnableSnapshotFullRefreshOrderBook
MessageHolder< Messaging::SnapshotFullRefreshOrderBook53 > SnapshotFullRefreshOrderBook
Owns storage for a full order-book snapshot refresh test message.
SecurityId securityId(const Messaging::FIX::MultiContainer &message)
Messaging::UInt64 OrderPriority
Represents an order's matching priority.
Messaging::Int32 SecurityId
Identifies a security in CME MDP 3.0 market data.
Messaging::UInt32 SequenceNumber
Identifies a packet within an MDP packet sequence.
Messaging::UInt64 OrderId
Identifies an order in a Market By Order book.
Messaging::Int32 DisplayQuantity
Represents the displayed quantity of an order.
static auto apply(Holder &message, Arguments &&... arguments) -> typename std::enable_if< IsSnapshotFullRefreshOrderBookAction< Action >::value, decltype(SnapshotFullRefreshOrderBookEntryOperation::apply(message, std::forward< Arguments >(arguments)...))>::type
static auto apply(Holder &message, Arguments &&... arguments) -> decltype(addEntry(message, std::forward< Arguments >(arguments)...), appendSnapshotFullRefreshOrderBookEntry(message, std::forward< Arguments >(arguments)...))
static auto apply(Holder &message, Messaging::UInt32 totNumReports, SecurityId securityId, SequenceNumber lastMsgSeqNumProcessed, Messaging::UInt32 numberOfChunks, Messaging::UInt32 currentChunk, Messaging::Timestamp transactTime) noexcept -> EnableSnapshotFullRefreshOrderBook< Holder >