OnixS Eurex EDCI Handler C++ library 1.0.0
Users' manual and API documentation
Loading...
Searching...
No Matches
PartitionListNotification.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
13 * part of this source code or associated reference material to any other location for further
14 * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15 * prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20
21#pragma once
22
23// Project specific includes
24#include <OnixS/Eurex/DropCopy/Export.h>
26
27// Standard includes
28#include <cstdint>
29#include <iosfwd>
30#include <string>
31#include <vector>
32
33namespace OnixS { namespace Eurex { namespace DropCopy {
34
36class ONIXS_EUREX_EDCI_EXPORT PartitionListNotification : public Message
37{
38public:
41
43 class ONIXS_EUREX_EDCI_EXPORT NotifHeaderElem
44 {
45 public:
48
50 std::uint64_t sendingTime;
51
53 std::string toString() const;
54
55 private:
56 friend class Serializer;
57 NotifHeaderElem(const void* data);
58 void nativeSerializeTo(void* data) const;
59 };
60
63
65 class ONIXS_EUREX_EDCI_EXPORT PartitionGrpElem
66 {
67 public:
70
72 std::uint16_t partitionId;
73
75 std::string toString() const;
76
77 private:
78 friend class Serializer;
79 PartitionGrpElem(const void* data);
80 void nativeSerializeTo(void* data) const;
81 };
82
83 using PartitionGrp = std::vector<PartitionGrpElem>;
85
87 TemplateId::Enum templateId() const override;
88
90 std::string toString() const override;
91
92private:
93 friend class Serializer;
94 PartitionListNotification(const void* data, std::size_t dataSize, MessageInfo& msgInfo);
95 void nativeSerializeTo(void* data) override;
96};
97
99ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const PartitionListNotification::NotifHeaderElem&);
100
102ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const PartitionListNotification::PartitionGrpElem&);
103
105ONIXS_EUREX_EDCI_EXPORT std::ostream& operator<<(std::ostream&, const PartitionListNotification&);
106
107}}} // namespace OnixS::Eurex::DropCopy
Per-message metadata delivered to listener callbacks.
Definition MessageInfo.h:33
Message base class.
Definition Message.h:35
Header structure for notification messages including sending timestamp.
std::string toString() const
Returns string representation.
std::string toString() const
Returns string representation.
std::uint16_t partitionId
Is required to define the scope of a Retransmission Request.
TemplateId::Enum templateId() const override
Returns template ID.
PartitionListNotification()
Initialize default instance.
std::string toString() const override
Returns string representation.
std::ostream & operator<<(std::ostream &, ApplId::Enum)
Make it printable using C++ I/O streams.