39 template <
typename Holder>
43 enum class SnapshotFullRefreshInitializationTag {};
46 template <Messaging::UpdateAction::Enum Action>
48 Action == Messaging::UpdateAction::New>
53 template <
typename Holder>
61 message->setTotNumReports(totNumReports);
63 message->setLastMsgSeqNumProcessed(lastMsgSeqNumProcessed);
64 message->setRptSeq(rptSeq);
65 message->setTransactTime(transactTime);
66 message->setLastUpdateTime(updateTime);
67 message->setTradeDate(updateTime);
74 template <
typename Holder>
80 typename decltype(message->entries())::Size size) { return message->entries(size); });
82 entry.setEntryType(entryType);
83 entry.setPriceLevel(priceLevel);
84 entry.setEntryPx(price);
85 entry.setEntrySize(quantity);
86 entry.setNumberOfOrders(numberOfOrders);
105template <
typename Holder, details::SnapshotFullRefreshInitializationTag...>
113 message, totNumReports,
securityId, lastMsgSeqNumProcessed, rptSeq, transactTime, updateTime);
126template <
typename Holder, details::SnapshotFullRefreshInitializationTag...>
147template <
typename Holder, details::SnapshotFullRefreshInitializationTag...>
155 totNumReports,
securityId, lastMsgSeqNumProcessed, rptSeq,
156 transactTime, updateTime))
160 totNumReports,
securityId, lastMsgSeqNumProcessed, rptSeq,
161 transactTime, updateTime);
175template <
typename Holder, details::SnapshotFullRefreshInitializationTag...>
198template <
typename Holder>
213 template <
typename Holder,
typename... Arguments>
214 static auto apply(Holder& message, Arguments&&... arguments)
215 ->
decltype(addEntry(message, std::forward<Arguments>(arguments)...),
226 static auto apply(Holder& message, Arguments&&... arguments)
227 ->
typename std::enable_if<IsSnapshotFullRefreshAction<Action>::value,
#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
Messaging::SnapshotFullRefresh52::Entry appendSnapshotFullRefreshEntry(Holder &message, Messaging::EntryType::Enum entryType, Messaging::Int8 priceLevel, Messaging::Decimal9 price, Messaging::Int32 quantity, Messaging::Int32 numberOfOrders)
EnableMutableMessageHolder< SnapshotFullRefresh, Holder > EnableSnapshotFullRefresh
typename std::enable_if< IsMutableMessageHolder< ExpectedHolder, Holder >::value, Holder & >::type EnableMutableMessageHolder
Group::Entry appendGroupEntry(Group group, Resize resize)
MessageHolder< Messaging::SnapshotFullRefresh52 > SnapshotFullRefresh
Owns storage for a full snapshot refresh test message.
SecurityId securityId(const Messaging::FIX::MultiContainer &message)
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::Timestamp timestamp(const Messaging::FIX::MultiContainer &, Messaging::FIX::Tag)
Retrieves last update time field value.
@ DailyOpenPrice
Daily Open Price.
@ NewPriceIndication
New Price Indication.
static auto apply(Holder &message, Arguments &&... arguments) -> typename std::enable_if< IsSnapshotFullRefreshAction< Action >::value, decltype(SnapshotFullRefreshEntryOperation::apply(message, std::forward< Arguments >(arguments)...))>::type
static auto apply(Holder &message, Arguments &&... arguments) -> decltype(addEntry(message, std::forward< Arguments >(arguments)...), appendSnapshotFullRefreshEntry(message, std::forward< Arguments >(arguments)...))
static auto apply(Holder &message, Messaging::UInt32 totNumReports, SecurityId securityId, SequenceNumber lastMsgSeqNumProcessed, Messaging::UInt32 rptSeq, Messaging::Timestamp transactTime, Messaging::Timestamp updateTime) noexcept -> EnableSnapshotFullRefresh< Holder >