14#include <avro/Exception.hh>
16#include "EtpMessage.h"
18namespace Energistics {
22 enum class Protocol : int32_t {
28 StoreNotification = 5,
30 GrowingObjectNotification = 7,
39 GrowingObjectQuery = 16,
44 ChannelSubscribe = 21,
58 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Protocol> {
59 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::Protocol& v) {
60 e.encodeEnum(
static_cast<std::size_t
>(v));
62 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Protocol& v) {
63 v =
static_cast<Energistics::Etp::v12::Datatypes::Protocol
>(d.decodeEnum());
68namespace Energistics {
73 struct Acknowledge :
public ETP_NS::EtpMessage {
74 static constexpr int32_t messageTypeId = 1001;
77 this->messageHeader.messageType = messageTypeId;
80 void encode(avro::Encoder&)
const final {}
81 void decode(avro::Decoder&)
final {}
88namespace Energistics {
93 struct Authorize :
public ETP_NS::EtpMessage {
94 static constexpr int32_t messageTypeId = 6;
97 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
98 this->messageHeader.messageType = messageTypeId;
100 std::string authorization;
101 std::map<std::string, std::string> supplementalAuthorization;
103 void encode(avro::Encoder& e)
const final {
104 avro::encode(e, authorization);
105 avro::encode(e, supplementalAuthorization);
107 void decode(avro::Decoder& d)
final {
108 avro::decode(d, authorization);
109 avro::decode(d, supplementalAuthorization);
117namespace Energistics {
122 struct AuthorizeResponse :
public ETP_NS::EtpMessage {
123 static constexpr int32_t messageTypeId = 7;
125 AuthorizeResponse() {
126 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
127 this->messageHeader.messageType = messageTypeId;
129 bool success =
false;
130 std::vector<std::string> challenges;
132 void encode(avro::Encoder& e)
const final {
133 avro::encode(e, success);
134 avro::encode(e, challenges);
136 void decode(avro::Decoder& d)
final {
137 avro::decode(d, success);
138 avro::decode(d, challenges);
146namespace Energistics {
151 struct CloseSession :
public ETP_NS::EtpMessage {
152 static constexpr int32_t messageTypeId = 5;
155 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
156 this->messageHeader.messageType = messageTypeId;
160 void encode(avro::Encoder& e)
const final {
161 avro::encode(e, reason);
163 void decode(avro::Decoder& d)
final {
164 avro::decode(d, reason);
172namespace Energistics {
177 struct Pong :
public ETP_NS::EtpMessage {
178 static constexpr int32_t messageTypeId = 9;
181 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
182 this->messageHeader.messageType = messageTypeId;
184 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
186 void encode(avro::Encoder& e)
const final {
187 avro::encode(e, currentDateTime);
189 void decode(avro::Decoder& d)
final {
190 avro::decode(d, currentDateTime);
198namespace Energistics {
203 struct Ping :
public ETP_NS::EtpMessage {
204 static constexpr int32_t messageTypeId = 8;
207 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
208 this->messageHeader.messageType = messageTypeId;
210 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
212 void encode(avro::Encoder& e)
const final {
213 avro::encode(e, currentDateTime);
215 void decode(avro::Decoder& d)
final {
216 avro::decode(d, currentDateTime);
224namespace Energistics {
228 namespace DataArray {
229 struct PutDataArraysResponse :
public ETP_NS::EtpMessage {
230 static constexpr int32_t messageTypeId = 10;
232 PutDataArraysResponse() {
233 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
234 this->messageHeader.messageType = messageTypeId;
236 std::map<std::string, std::string> success;
238 void encode(avro::Encoder& e)
const final {
239 avro::encode(e, success);
241 void decode(avro::Decoder& d)
final {
242 avro::decode(d, success);
250namespace Energistics {
254 namespace DataArray {
255 struct PutDataSubarraysResponse :
public ETP_NS::EtpMessage {
256 static constexpr int32_t messageTypeId = 11;
258 PutDataSubarraysResponse() {
259 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
260 this->messageHeader.messageType = messageTypeId;
262 std::map<std::string, std::string> success;
264 void encode(avro::Encoder& e)
const final {
265 avro::encode(e, success);
267 void decode(avro::Decoder& d)
final {
268 avro::decode(d, success);
276namespace Energistics {
280 namespace DataArray {
281 struct PutUninitializedDataArraysResponse :
public ETP_NS::EtpMessage {
282 static constexpr int32_t messageTypeId = 12;
284 PutUninitializedDataArraysResponse() {
285 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
286 this->messageHeader.messageType = messageTypeId;
288 std::map<std::string, std::string> success;
290 void encode(avro::Encoder& e)
const final {
291 avro::encode(e, success);
293 void decode(avro::Decoder& d)
final {
294 avro::decode(d, success);
302namespace Energistics {
306 namespace Dataspace {
307 struct DeleteDataspaces :
public ETP_NS::EtpMessage {
308 static constexpr int32_t messageTypeId = 4;
311 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
312 this->messageHeader.messageType = messageTypeId;
314 std::map<std::string, std::string> uris;
316 void encode(avro::Encoder& e)
const final {
317 avro::encode(e, uris);
319 void decode(avro::Decoder& d)
final {
320 avro::decode(d, uris);
328namespace Energistics {
332 namespace Dataspace {
333 struct DeleteDataspacesResponse :
public ETP_NS::EtpMessage {
334 static constexpr int32_t messageTypeId = 5;
336 DeleteDataspacesResponse() {
337 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
338 this->messageHeader.messageType = messageTypeId;
340 std::map<std::string, std::string> success;
342 void encode(avro::Encoder& e)
const final {
343 avro::encode(e, success);
345 void decode(avro::Decoder& d)
final {
346 avro::decode(d, success);
354namespace Energistics {
358 namespace Dataspace {
359 struct GetDataspaces :
public ETP_NS::EtpMessage {
360 static constexpr int32_t messageTypeId = 1;
363 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
364 this->messageHeader.messageType = messageTypeId;
366 std::optional<int64_t> storeLastWriteFilter;
367 bool has_storeLastWriteFilter()
const {
return storeLastWriteFilter.has_value(); }
368 int64_t get_storeLastWriteFilter()
const {
return storeLastWriteFilter.value(); }
370 void encode(avro::Encoder& e)
const final {
371 avro::encode(e, storeLastWriteFilter);
373 void decode(avro::Decoder& d)
final {
374 avro::decode(d, storeLastWriteFilter);
382namespace Energistics {
386 namespace Dataspace {
387 struct PutDataspacesResponse :
public ETP_NS::EtpMessage {
388 static constexpr int32_t messageTypeId = 6;
390 PutDataspacesResponse() {
391 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
392 this->messageHeader.messageType = messageTypeId;
394 std::map<std::string, std::string> success;
396 void encode(avro::Encoder& e)
const final {
397 avro::encode(e, success);
399 void decode(avro::Decoder& d)
final {
400 avro::decode(d, success);
408namespace Energistics {
412 namespace Discovery {
413 struct GetDeletedResources :
public ETP_NS::EtpMessage {
414 static constexpr int32_t messageTypeId = 5;
416 GetDeletedResources() {
417 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Discovery);
418 this->messageHeader.messageType = messageTypeId;
420 std::string dataspaceUri;
421 std::optional<int64_t> deleteTimeFilter;
422 bool has_deleteTimeFilter()
const {
return deleteTimeFilter.has_value(); }
423 int64_t get_deleteTimeFilter()
const {
return deleteTimeFilter.value(); }
424 std::vector<std::string> dataObjectTypes;
426 void encode(avro::Encoder& e)
const final {
427 avro::encode(e, dataspaceUri);
428 avro::encode(e, deleteTimeFilter);
429 avro::encode(e, dataObjectTypes);
431 void decode(avro::Decoder& d)
final {
432 avro::decode(d, dataspaceUri);
433 avro::decode(d, deleteTimeFilter);
434 avro::decode(d, dataObjectTypes);
442namespace Energistics {
446 namespace StoreNotification {
447 struct SubscribeNotificationsResponse :
public ETP_NS::EtpMessage {
448 static constexpr int32_t messageTypeId = 10;
450 SubscribeNotificationsResponse() {
451 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
452 this->messageHeader.messageType = messageTypeId;
454 std::map<std::string, std::string> success;
456 void encode(avro::Encoder& e)
const final {
457 avro::encode(e, success);
459 void decode(avro::Decoder& d)
final {
460 avro::decode(d, success);
468namespace Energistics {
473 struct DeleteDataObjects :
public ETP_NS::EtpMessage {
474 static constexpr int32_t messageTypeId = 3;
476 DeleteDataObjects() {
477 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
478 this->messageHeader.messageType = messageTypeId;
480 std::map<std::string, std::string> uris;
481 bool pruneContainedObjects =
false;
483 void encode(avro::Encoder& e)
const final {
484 avro::encode(e, uris);
485 avro::encode(e, pruneContainedObjects);
487 void decode(avro::Decoder& d)
final {
488 avro::decode(d, uris);
489 avro::decode(d, pruneContainedObjects);
497namespace Energistics {
502 struct GetDataObjects :
public ETP_NS::EtpMessage {
503 static constexpr int32_t messageTypeId = 1;
506 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
507 this->messageHeader.messageType = messageTypeId;
509 std::map<std::string, std::string> uris;
510 std::string format =
"xml";
512 void encode(avro::Encoder& e)
const final {
513 avro::encode(e, uris);
514 avro::encode(e, format);
516 void decode(avro::Decoder& d)
final {
517 avro::decode(d, uris);
518 avro::decode(d, format);
526namespace Energistics {
530 namespace Transaction {
531 struct StartTransaction :
public ETP_NS::EtpMessage {
532 static constexpr int32_t messageTypeId = 1;
535 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
536 this->messageHeader.messageType = messageTypeId;
538 bool readOnly =
false;
540 std::vector<std::string> dataspaceUris;
542 void encode(avro::Encoder& e)
const final {
543 avro::encode(e, readOnly);
544 avro::encode(e, message);
545 avro::encode(e, dataspaceUris);
547 void decode(avro::Decoder& d)
final {
548 avro::decode(d, readOnly);
549 avro::decode(d, message);
550 avro::decode(d, dataspaceUris);
558namespace Energistics {
561 namespace Datatypes {
562 enum class AnyArrayType {
576 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnyArrayType> {
577 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::AnyArrayType& v) {
578 e.encodeEnum(
static_cast<std::size_t
>(v));
580 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnyArrayType& v) {
581 v =
static_cast<Energistics::Etp::v12::Datatypes::AnyArrayType
>(d.decodeEnum());
585namespace Energistics {
588 namespace Datatypes {
589 enum class AnyLogicalArrayType {
599 arrayOfFloat32LE = 9,
600 arrayOfDouble64LE = 10,
604 arrayOfUInt16BE = 14,
605 arrayOfUInt32BE = 15,
606 arrayOfUInt64BE = 16,
607 arrayOfFloat32BE = 17,
608 arrayOfDouble64BE = 18,
617 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnyLogicalArrayType> {
618 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::AnyLogicalArrayType& v) {
619 e.encodeEnum(
static_cast<std::size_t
>(v));
621 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnyLogicalArrayType& v) {
622 v =
static_cast<Energistics::Etp::v12::Datatypes::AnyLogicalArrayType
>(d.decodeEnum());
626namespace Energistics {
629 namespace Datatypes {
631 std::vector<bool> values;
638 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfBoolean> {
640 avro::encode(e, v.values);
642 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfBoolean& v) {
643 avro::decode(d, v.values);
647namespace Energistics {
650 namespace Datatypes {
652 std::vector<std::string> values;
659 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfBytes> {
661 avro::encode(e, v.values);
663 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfBytes& v) {
664 avro::decode(d, v.values);
668namespace Energistics {
671 namespace Datatypes {
673 std::vector<double> values;
680 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfDouble> {
682 avro::encode(e, v.values);
684 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfDouble& v) {
685 avro::decode(d, v.values);
689namespace Energistics {
692 namespace Datatypes {
694 std::vector<float> values;
701 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfFloat> {
703 avro::encode(e, v.values);
705 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfFloat& v) {
706 avro::decode(d, v.values);
710namespace Energistics {
713 namespace Datatypes {
715 std::vector<int32_t> values;
722 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfInt> {
724 avro::encode(e, v.values);
726 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfInt& v) {
727 avro::decode(d, v.values);
731namespace Energistics {
734 namespace Datatypes {
736 std::vector<int64_t> values;
743 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfLong> {
745 avro::encode(e, v.values);
747 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfLong& v) {
748 avro::decode(d, v.values);
752namespace Energistics {
755 namespace Datatypes {
757 std::vector<std::optional<bool>> values;
764 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfNullableBoolean> {
766 avro::encode(e, v.values);
768 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfNullableBoolean& v) {
769 avro::decode(d, v.values);
773namespace Energistics {
776 namespace Datatypes {
778 std::vector<std::optional<int32_t>> values;
785 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfNullableInt> {
787 avro::encode(e, v.values);
789 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfNullableInt& v) {
790 avro::decode(d, v.values);
794namespace Energistics {
797 namespace Datatypes {
799 std::vector<std::optional<int64_t>> values;
806 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfNullableLong> {
808 avro::encode(e, v.values);
810 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfNullableLong& v) {
811 avro::decode(d, v.values);
815namespace Energistics {
818 namespace Datatypes {
820 std::vector<std::string> values;
827 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ArrayOfString> {
829 avro::encode(e, v.values);
831 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ArrayOfString& v) {
832 avro::decode(d, v.values);
836namespace Energistics {
841 struct DeleteDataObjectsResponse :
public ETP_NS::EtpMessage {
842 static constexpr int32_t messageTypeId = 10;
844 DeleteDataObjectsResponse() {
845 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
846 this->messageHeader.messageType = messageTypeId;
848 std::map<std::string, Energistics::Etp::v12::Datatypes::ArrayOfString> deletedUris;
850 void encode(avro::Encoder& e)
const final {
851 avro::encode(e, deletedUris);
853 void decode(avro::Decoder& d)
final {
854 avro::decode(d, deletedUris);
862namespace Energistics {
865 namespace Datatypes {
879 size_t idx()
const {
return value_.index(); }
881 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfBoolean>(value_);
890 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfInt>(value_);
899 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfLong>(value_);
908 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfFloat>(value_);
917 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfDouble>(value_);
926 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfString>(value_);
934 std::string
const& get_bytes()
const {
935 return std::get<std::string>(value_);
937 void set_bytes(
const std::string& v) {
938 value_.emplace<std::string>(v);
940 void set_bytes(
const std::string&& v) {
941 value_.emplace<std::string>(std::move(v));
949 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnyArrayitem_t> {
953 e.encodeUnionIndex(v.idx());
956 avro::encode(e, v.get_ArrayOfBoolean());
959 avro::encode(e, v.get_ArrayOfInt());
962 avro::encode(e, v.get_ArrayOfLong());
965 avro::encode(e, v.get_ArrayOfFloat());
968 avro::encode(e, v.get_ArrayOfDouble());
971 avro::encode(e, v.get_ArrayOfString());
974 avro::encode(e, v.get_bytes());
978 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnyArrayitem_t& v) {
980 size_t n = d.decodeUnionIndex();
981 if (n >= 7) {
throw avro::Exception(
"Union index too big"); }
985 Energistics::Etp::v12::Datatypes::ArrayOfBoolean vv;
987 v.set_ArrayOfBoolean(vv);
992 Energistics::Etp::v12::Datatypes::ArrayOfInt vv;
994 v.set_ArrayOfInt(std::move(vv));
999 Energistics::Etp::v12::Datatypes::ArrayOfLong vv;
1000 avro::decode(d, vv);
1001 v.set_ArrayOfLong(std::move(vv));
1006 Energistics::Etp::v12::Datatypes::ArrayOfFloat vv;
1007 avro::decode(d, vv);
1008 v.set_ArrayOfFloat(std::move(vv));
1013 Energistics::Etp::v12::Datatypes::ArrayOfDouble vv;
1014 avro::decode(d, vv);
1015 v.set_ArrayOfDouble(std::move(vv));
1020 Energistics::Etp::v12::Datatypes::ArrayOfString vv;
1021 avro::decode(d, vv);
1022 v.set_ArrayOfString(std::move(vv));
1028 avro::decode(d, vv);
1029 v.set_bytes(std::move(vv));
1037namespace Energistics {
1040 namespace Datatypes {
1049 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnyArray> {
1051 avro::encode(e, v.item);
1053 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnyArray& v) {
1054 avro::decode(d, v.item);
1058namespace Energistics {
1061 namespace Datatypes {
1071 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnySubarray> {
1073 avro::encode(e, v.start);
1074 avro::encode(e, v.slice);
1076 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnySubarray& v) {
1077 avro::decode(d, v.start);
1078 avro::decode(d, v.slice);
1082namespace Energistics {
1085 namespace Datatypes {
1087 std::vector<Energistics::Etp::v12::Datatypes::AnySubarray> slices;
1094 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AnySparseArray> {
1096 avro::encode(e, v.slices);
1098 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AnySparseArray& v) {
1099 avro::decode(d, v.slices);
1103namespace Energistics {
1106 namespace Datatypes {
1108 std::string organizationName;
1109 std::string contactName;
1110 std::string contactPhone;
1111 std::string contactEmail;
1118 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Contact> {
1120 avro::encode(e, v.organizationName);
1121 avro::encode(e, v.contactName);
1122 avro::encode(e, v.contactPhone);
1123 avro::encode(e, v.contactEmail);
1125 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Contact& v) {
1126 avro::decode(d, v.organizationName);
1127 avro::decode(d, v.contactName);
1128 avro::decode(d, v.contactPhone);
1129 avro::decode(d, v.contactEmail);
1133namespace Energistics {
1136 namespace Datatypes {
1137 enum class DataObjectCapabilityKind {
1138 ActiveTimeoutPeriod = 0,
1139 MaxContainedDataObjectCount = 1,
1140 MaxDataObjectSize = 2,
1141 OrphanedChildrenPrunedOnDelete = 3,
1145 MaxSecondaryIndexCount = 7
1152 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataObjectCapabilityKind> {
1153 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::DataObjectCapabilityKind& v) {
1154 e.encodeEnum(
static_cast<std::size_t
>(v));
1156 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataObjectCapabilityKind& v) {
1157 v =
static_cast<Energistics::Etp::v12::Datatypes::DataObjectCapabilityKind
>(d.decodeEnum());
1161namespace Energistics {
1164 namespace Datatypes {
1185 std::vector<std::byte>,
1190 size_t idx()
const {
return value_.index(); }
1191 bool is_null()
const {
return idx() == 0; }
1192 void set_null() { value_ =
nullptr; }
1193 bool get_boolean()
const {
1194 return std::get<bool>(value_);
1196 void set_boolean(
const bool& v) {
1199 int32_t get_int()
const {
1200 return std::get<int32_t>(value_);
1202 void set_int(
const int32_t& v) {
1205 int64_t get_long()
const {
1206 return std::get<int64_t>(value_);
1208 void set_long(
const int64_t& v) {
1211 float get_float()
const {
1212 return std::get<float>(value_);
1214 void set_float(
const float& v) {
1217 double get_double()
const {
1218 return std::get<double>(value_);
1220 void set_double(
const double& v) {
1223 std::string
const& get_string()
const {
1224 return std::get<std::string>(value_);
1226 void set_string(
const std::string& v) {
1230 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfBoolean>(value_);
1236 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfNullableBoolean>(value_);
1242 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfInt>(value_);
1248 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfNullableInt>(value_);
1254 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfLong>(value_);
1260 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfNullableLong>(value_);
1266 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfFloat>(value_);
1272 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfDouble>(value_);
1278 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfString>(value_);
1284 return std::get<Energistics::Etp::v12::Datatypes::ArrayOfBytes>(value_);
1289 std::string get_bytes()
const {
1290 const auto& bytes = std::get<std::vector<std::byte>>(value_);
1291 return std::string(
reinterpret_cast<const char*
>(bytes.data()), bytes.size());
1294 void set_bytes(
const std::string& v) {
1298 return std::get<Energistics::Etp::v12::Datatypes::AnySparseArray>(value_);
1309 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataValueitem_t> {
1312 e.encodeUnionIndex(v.idx());
1318 avro::encode(e, v.get_boolean());
1321 avro::encode(e, v.get_int());
1324 avro::encode(e, v.get_long());
1327 avro::encode(e, v.get_float());
1330 avro::encode(e, v.get_double());
1333 avro::encode(e, v.get_string());
1336 avro::encode(e, v.get_ArrayOfBoolean());
1339 avro::encode(e, v.get_ArrayOfNullableBoolean());
1342 avro::encode(e, v.get_ArrayOfInt());
1345 avro::encode(e, v.get_ArrayOfNullableInt());
1348 avro::encode(e, v.get_ArrayOfLong());
1351 avro::encode(e, v.get_ArrayOfNullableLong());
1354 avro::encode(e, v.get_ArrayOfFloat());
1357 avro::encode(e, v.get_ArrayOfDouble());
1360 avro::encode(e, v.get_ArrayOfString());
1363 avro::encode(e, v.get_ArrayOfBytes());
1366 avro::encode(e, v.get_bytes());
1369 avro::encode(e, v.get_AnySparseArray());
1373 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataValueitem_t& v) {
1375 size_t n = d.decodeUnionIndex();
1376 if (n >= 19) {
throw avro::Exception(
"Union index too big"); }
1387 avro::decode(d, vv);
1394 avro::decode(d, vv);
1401 avro::decode(d, vv);
1408 avro::decode(d, vv);
1415 avro::decode(d, vv);
1422 avro::decode(d, vv);
1428 Energistics::Etp::v12::Datatypes::ArrayOfBoolean vv;
1429 avro::decode(d, vv);
1430 v.set_ArrayOfBoolean(vv);
1435 Energistics::Etp::v12::Datatypes::ArrayOfNullableBoolean vv;
1436 avro::decode(d, vv);
1437 v.set_ArrayOfNullableBoolean(vv);
1442 Energistics::Etp::v12::Datatypes::ArrayOfInt vv;
1443 avro::decode(d, vv);
1444 v.set_ArrayOfInt(vv);
1449 Energistics::Etp::v12::Datatypes::ArrayOfNullableInt vv;
1450 avro::decode(d, vv);
1451 v.set_ArrayOfNullableInt(vv);
1456 Energistics::Etp::v12::Datatypes::ArrayOfLong vv;
1457 avro::decode(d, vv);
1458 v.set_ArrayOfLong(vv);
1463 Energistics::Etp::v12::Datatypes::ArrayOfNullableLong vv;
1464 avro::decode(d, vv);
1465 v.set_ArrayOfNullableLong(vv);
1470 Energistics::Etp::v12::Datatypes::ArrayOfFloat vv;
1471 avro::decode(d, vv);
1472 v.set_ArrayOfFloat(vv);
1477 Energistics::Etp::v12::Datatypes::ArrayOfDouble vv;
1478 avro::decode(d, vv);
1479 v.set_ArrayOfDouble(vv);
1484 Energistics::Etp::v12::Datatypes::ArrayOfString vv;
1485 avro::decode(d, vv);
1486 v.set_ArrayOfString(vv);
1491 Energistics::Etp::v12::Datatypes::ArrayOfBytes vv;
1492 avro::decode(d, vv);
1493 v.set_ArrayOfBytes(vv);
1499 avro::decode(d, vv);
1505 Energistics::Etp::v12::Datatypes::AnySparseArray vv;
1506 avro::decode(d, vv);
1507 v.set_AnySparseArray(vv);
1515namespace Energistics {
1518 namespace Datatypes {
1527 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataValue> {
1529 avro::encode(e, v.item);
1531 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataValue& v) {
1532 avro::decode(d, v.item);
1536namespace Energistics {
1539 namespace Datatypes {
1541 int32_t attributeId = 0;
1549 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataAttribute> {
1551 avro::encode(e, v.attributeId);
1552 avro::encode(e, v.attributeValue);
1554 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataAttribute& v) {
1555 avro::decode(d, v.attributeId);
1556 avro::decode(d, v.attributeValue);
1560namespace Energistics {
1563 namespace Datatypes {
1564 enum class EndpointCapabilityKind {
1565 ActiveTimeoutPeriod = 0,
1566 AuthorizationDetails = 1,
1567 ChangePropagationPeriod = 2,
1568 ChangeRetentionPeriod = 3,
1569 MaxConcurrentMultipart = 4,
1570 MaxDataObjectSize = 5,
1572 MaxSessionClientCount = 7,
1573 MaxSessionGlobalCount = 8,
1574 MaxWebSocketFramePayloadSize = 9,
1575 MaxWebSocketMessagePayloadSize = 10,
1576 MultipartMessageTimeoutPeriod = 11,
1577 ResponseTimeoutPeriod = 12,
1578 RequestSessionTimeoutPeriod = 13,
1579 SessionEstablishmentTimeoutPeriod = 14,
1580 SupportsAlternateRequestUris = 15,
1581 SupportsMessageHeaderExtensions = 16
1588 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::EndpointCapabilityKind> {
1589 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::EndpointCapabilityKind& v) {
1590 e.encodeEnum(
static_cast<std::size_t
>(v));
1592 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::EndpointCapabilityKind& v) {
1593 v =
static_cast<Energistics::Etp::v12::Datatypes::EndpointCapabilityKind
>(d.decodeEnum());
1597namespace Energistics {
1600 namespace Datatypes {
1602 std::string message;
1610 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ErrorInfo> {
1612 avro::encode(e, v.message);
1613 avro::encode(e, v.code);
1615 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ErrorInfo& v) {
1616 avro::decode(d, v.message);
1617 avro::decode(d, v.code);
1621namespace Energistics {
1624 namespace Protocol {
1626 struct ProtocolException :
public ETP_NS::EtpMessage {
1627 static constexpr int32_t messageTypeId = 1000;
1629 ProtocolException() {
1630 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
1631 this->messageHeader.messageType = messageTypeId;
1633 std::optional<Energistics::Etp::v12::Datatypes::ErrorInfo> error;
1634 bool has_error()
const {
return error.has_value(); }
1636 std::map<std::string, Energistics::Etp::v12::Datatypes::ErrorInfo> errors;
1638 void encode(avro::Encoder& e)
const final {
1639 avro::encode(e, error);
1640 avro::encode(e, errors);
1642 void decode(avro::Decoder& d)
final {
1643 avro::decode(d, error);
1644 avro::decode(d, errors);
1652namespace Energistics {
1655 namespace Datatypes {
1657 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> extension;
1664 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::MessageHeaderExtension> {
1666 avro::encode(e, v.extension);
1668 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::MessageHeaderExtension& v) {
1669 avro::decode(d, v.extension);
1673namespace Energistics {
1676 namespace Datatypes {
1677 enum class ProtocolCapabilityKind {
1678 FrameChangeDetectionPeriod = 0,
1679 MaxDataArraySize = 1,
1680 MaxDataObjectSize = 2,
1681 MaxFrameResponseRowCount = 3,
1683 MaxRangeChannelCount = 5,
1684 MaxRangeDataItemCount = 6,
1685 MaxResponseCount = 7,
1686 MaxStreamingChannelsSessionCount = 8,
1687 MaxSubscriptionSessionCount = 9,
1688 MaxTransactionCount = 10,
1689 SupportsSecondaryIndexFiltering = 11,
1690 TransactionTimeoutPeriod = 12
1697 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ProtocolCapabilityKind> {
1698 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::ProtocolCapabilityKind& v) {
1699 e.encodeEnum(
static_cast<std::size_t
>(v));
1701 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ProtocolCapabilityKind& v) {
1702 v =
static_cast<Energistics::Etp::v12::Datatypes::ProtocolCapabilityKind
>(d.decodeEnum());
1706namespace Energistics {
1709 namespace Datatypes {
1711 std::string qualifiedType;
1712 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> dataObjectCapabilities;
1719 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::SupportedDataObject> {
1721 avro::encode(e, v.qualifiedType);
1722 avro::encode(e, v.dataObjectCapabilities);
1724 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::SupportedDataObject& v) {
1725 avro::decode(d, v.qualifiedType);
1726 avro::decode(d, v.dataObjectCapabilities);
1730namespace Energistics {
1733 namespace Datatypes {
1735 std::array<uint8_t, 16> array{ {} };
1742 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Uuid> {
1744 avro::encode(e, v.array);
1746 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Uuid& v) {
1747 avro::decode(d, v.array);
1751namespace Energistics {
1754 namespace Protocol {
1755 namespace StoreNotification {
1756 struct Chunk :
public ETP_NS::EtpMessage {
1757 static constexpr int32_t messageTypeId = 9;
1760 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1761 this->messageHeader.messageType = messageTypeId;
1767 void encode(avro::Encoder& e)
const final {
1768 avro::encode(e, blobId);
1769 avro::encode(e, data);
1770 avro::encode(e,
final);
1772 void decode(avro::Decoder& d)
final {
1773 avro::decode(d, blobId);
1774 avro::decode(d, data);
1775 avro::decode(d,
final);
1783namespace Energistics {
1786 namespace Protocol {
1787 namespace StoreNotification {
1788 struct ObjectAccessRevoked :
public ETP_NS::EtpMessage {
1789 static constexpr int32_t messageTypeId = 5;
1791 ObjectAccessRevoked() {
1792 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1793 this->messageHeader.messageType = messageTypeId;
1799 void encode(avro::Encoder& e)
const final {
1800 avro::encode(e, uri);
1801 avro::encode(e, changeTime);
1802 avro::encode(e, requestUuid);
1804 void decode(avro::Decoder& d)
final {
1805 avro::decode(d, uri);
1806 avro::decode(d, changeTime);
1807 avro::decode(d, requestUuid);
1815namespace Energistics {
1818 namespace Protocol {
1819 namespace StoreNotification {
1820 struct ObjectDeleted :
public ETP_NS::EtpMessage {
1821 static constexpr int32_t messageTypeId = 3;
1824 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1825 this->messageHeader.messageType = messageTypeId;
1828 int64_t changeTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
1831 void encode(avro::Encoder& e)
const final {
1832 avro::encode(e, uri);
1833 avro::encode(e, changeTime);
1834 avro::encode(e, requestUuid);
1836 void decode(avro::Decoder& d)
final {
1837 avro::decode(d, uri);
1838 avro::decode(d, changeTime);
1839 avro::decode(d, requestUuid);
1847namespace Energistics {
1850 namespace Protocol {
1851 namespace StoreNotification {
1852 struct SubscriptionEnded :
public ETP_NS::EtpMessage {
1853 static constexpr int32_t messageTypeId = 7;
1855 SubscriptionEnded() {
1856 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1857 this->messageHeader.messageType = messageTypeId;
1862 void encode(avro::Encoder& e)
const final {
1863 avro::encode(e, reason);
1864 avro::encode(e, requestUuid);
1866 void decode(avro::Decoder& d)
final {
1867 avro::decode(d, reason);
1868 avro::decode(d, requestUuid);
1876namespace Energistics {
1879 namespace Protocol {
1880 namespace StoreNotification {
1881 struct UnsubscribeNotifications :
public ETP_NS::EtpMessage {
1882 static constexpr int32_t messageTypeId = 4;
1884 UnsubscribeNotifications() {
1885 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1886 this->messageHeader.messageType = messageTypeId;
1890 void encode(avro::Encoder& e)
const final {
1891 avro::encode(e, requestUuid);
1893 void decode(avro::Decoder& d)
final {
1894 avro::decode(d, requestUuid);
1902namespace Energistics {
1905 namespace Protocol {
1907 struct Chunk :
public ETP_NS::EtpMessage {
1908 static constexpr int32_t messageTypeId = 8;
1911 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1912 this->messageHeader.messageType = messageTypeId;
1918 void encode(avro::Encoder& e)
const final {
1919 avro::encode(e, blobId);
1920 avro::encode(e, data);
1921 avro::encode(e,
final);
1923 void decode(avro::Decoder& d)
final {
1924 avro::decode(d, blobId);
1925 avro::decode(d, data);
1926 avro::decode(d,
final);
1934namespace Energistics {
1937 namespace Protocol {
1938 namespace StoreQuery {
1939 struct Chunk :
public ETP_NS::EtpMessage {
1940 static constexpr int32_t messageTypeId = 3;
1943 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
1944 this->messageHeader.messageType = messageTypeId;
1950 void encode(avro::Encoder& e)
const final {
1951 avro::encode(e, blobId);
1952 avro::encode(e, data);
1953 avro::encode(e,
final);
1955 void decode(avro::Decoder& d)
final {
1956 avro::decode(d, blobId);
1957 avro::decode(d, data);
1958 avro::decode(d,
final);
1966namespace Energistics {
1969 namespace Protocol {
1970 namespace Transaction {
1971 struct CommitTransaction :
public ETP_NS::EtpMessage {
1972 static constexpr int32_t messageTypeId = 3;
1974 CommitTransaction() {
1975 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
1976 this->messageHeader.messageType = messageTypeId;
1980 void encode(avro::Encoder& e)
const final {
1981 avro::encode(e, transactionUuid);
1983 void decode(avro::Decoder& d)
final {
1984 avro::decode(d, transactionUuid);
1992namespace Energistics {
1995 namespace Protocol {
1996 namespace Transaction {
1997 struct CommitTransactionResponse :
public ETP_NS::EtpMessage {
1998 static constexpr int32_t messageTypeId = 5;
2000 CommitTransactionResponse() {
2001 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
2002 this->messageHeader.messageType = messageTypeId;
2005 bool successful =
false;
2006 std::string failureReason;
2008 void encode(avro::Encoder& e)
const final {
2009 avro::encode(e, transactionUuid);
2010 avro::encode(e, successful);
2011 avro::encode(e, failureReason);
2013 void decode(avro::Decoder& d)
final {
2014 avro::decode(d, transactionUuid);
2015 avro::decode(d, successful);
2016 avro::decode(d, failureReason);
2024namespace Energistics {
2027 namespace Protocol {
2028 namespace Transaction {
2029 struct RollbackTransaction :
public ETP_NS::EtpMessage {
2030 static constexpr int32_t messageTypeId = 4;
2032 RollbackTransaction() {
2033 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
2034 this->messageHeader.messageType = messageTypeId;
2038 void encode(avro::Encoder& e)
const final {
2039 avro::encode(e, transactionUuid);
2041 void decode(avro::Decoder& d)
final {
2042 avro::decode(d, transactionUuid);
2050namespace Energistics {
2053 namespace Protocol {
2054 namespace Transaction {
2055 struct RollbackTransactionResponse :
public ETP_NS::EtpMessage {
2056 static constexpr int32_t messageTypeId = 6;
2058 RollbackTransactionResponse() {
2059 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
2060 this->messageHeader.messageType = messageTypeId;
2063 bool successful =
false;
2064 std::string failureReason;
2066 void encode(avro::Encoder& e)
const final {
2067 avro::encode(e, transactionUuid);
2068 avro::encode(e, successful);
2069 avro::encode(e, failureReason);
2071 void decode(avro::Decoder& d)
final {
2072 avro::decode(d, transactionUuid);
2073 avro::decode(d, successful);
2074 avro::decode(d, failureReason);
2082namespace Energistics {
2085 namespace Protocol {
2086 namespace Transaction {
2087 struct StartTransactionResponse :
public ETP_NS::EtpMessage {
2088 static constexpr int32_t messageTypeId = 2;
2090 StartTransactionResponse() {
2091 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Transaction);
2092 this->messageHeader.messageType = messageTypeId;
2095 bool successful =
false;
2096 std::string failureReason;
2098 void encode(avro::Encoder& e)
const final {
2099 avro::encode(e, transactionUuid);
2100 avro::encode(e, successful);
2101 avro::encode(e, failureReason);
2103 void decode(avro::Decoder& d)
final {
2104 avro::decode(d, transactionUuid);
2105 avro::decode(d, successful);
2106 avro::decode(d, failureReason);
2114namespace Energistics {
2117 namespace Datatypes {
2121 int32_t revision = 0;
2129 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Version> {
2131 avro::encode(e, v.major);
2132 avro::encode(e, v.minor);
2133 avro::encode(e, v.revision);
2134 avro::encode(e, v.patch);
2136 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Version& v) {
2137 avro::decode(d, v.major);
2138 avro::decode(d, v.minor);
2139 avro::decode(d, v.revision);
2140 avro::decode(d, v.patch);
2144namespace Energistics {
2147 namespace Datatypes {
2149 int32_t protocol = 0;
2152 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> protocolCapabilities;
2159 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::SupportedProtocol> {
2161 avro::encode(e, v.protocol);
2162 avro::encode(e, v.protocolVersion);
2163 avro::encode(e, v.role);
2164 avro::encode(e, v.protocolCapabilities);
2166 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::SupportedProtocol& v) {
2167 avro::decode(d, v.protocol);
2168 avro::decode(d, v.protocolVersion);
2169 avro::decode(d, v.role);
2170 avro::decode(d, v.protocolCapabilities);
2174namespace Energistics {
2177 namespace Protocol {
2179 struct OpenSession :
public ETP_NS::EtpMessage {
2180 static constexpr int32_t messageTypeId = 2;
2183 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
2184 this->messageHeader.messageType = messageTypeId;
2186 std::string applicationName;
2187 std::string applicationVersion;
2189 std::vector<Energistics::Etp::v12::Datatypes::SupportedProtocol> supportedProtocols;
2190 std::vector<Energistics::Etp::v12::Datatypes::SupportedDataObject> supportedDataObjects;
2191 std::string supportedCompression;
2192 std::vector<std::string> supportedFormats;
2193 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
2194 int64_t earliestRetainedChangeTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
2196 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> endpointCapabilities;
2198 void encode(avro::Encoder& e)
const final {
2199 avro::encode(e, applicationName);
2200 avro::encode(e, applicationVersion);
2201 avro::encode(e, serverInstanceId);
2202 avro::encode(e, supportedProtocols);
2203 avro::encode(e, supportedDataObjects);
2204 avro::encode(e, supportedCompression);
2205 avro::encode(e, supportedFormats);
2206 avro::encode(e, currentDateTime);
2207 avro::encode(e, earliestRetainedChangeTime);
2208 avro::encode(e, sessionId);
2209 avro::encode(e, endpointCapabilities);
2211 void decode(avro::Decoder& d)
final {
2212 avro::decode(d, applicationName);
2213 avro::decode(d, applicationVersion);
2214 avro::decode(d, serverInstanceId);
2215 avro::decode(d, supportedProtocols);
2216 avro::decode(d, supportedDataObjects);
2217 avro::decode(d, supportedCompression);
2218 avro::decode(d, supportedFormats);
2219 avro::decode(d, currentDateTime);
2220 avro::decode(d, earliestRetainedChangeTime);
2221 avro::decode(d, sessionId);
2222 avro::decode(d, endpointCapabilities);
2230namespace Energistics {
2233 namespace Protocol {
2235 struct RequestSession :
public ETP_NS::EtpMessage {
2236 static constexpr int32_t messageTypeId = 1;
2239 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Core);
2240 this->messageHeader.messageType = messageTypeId;
2242 std::string applicationName;
2243 std::string applicationVersion;
2245 std::vector<Energistics::Etp::v12::Datatypes::SupportedProtocol> requestedProtocols;
2246 std::vector<Energistics::Etp::v12::Datatypes::SupportedDataObject> supportedDataObjects;
2247 std::vector<std::string> supportedCompression;
2248 std::vector<std::string> supportedFormats = {
"xml" };
2249 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
2250 int64_t earliestRetainedChangeTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
2251 bool serverAuthorizationRequired =
false;
2252 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> endpointCapabilities;
2254 void encode(avro::Encoder& e)
const final {
2255 avro::encode(e, applicationName);
2256 avro::encode(e, applicationVersion);
2257 avro::encode(e, clientInstanceId);
2258 avro::encode(e, requestedProtocols);
2259 avro::encode(e, supportedDataObjects);
2260 avro::encode(e, supportedCompression);
2261 avro::encode(e, supportedFormats);
2262 avro::encode(e, currentDateTime);
2263 avro::encode(e, earliestRetainedChangeTime);
2264 avro::encode(e, serverAuthorizationRequired);
2265 avro::encode(e, endpointCapabilities);
2267 void decode(avro::Decoder& d)
final {
2268 avro::decode(d, applicationName);
2269 avro::decode(d, applicationVersion);
2270 avro::decode(d, clientInstanceId);
2271 avro::decode(d, requestedProtocols);
2272 avro::decode(d, supportedDataObjects);
2273 avro::decode(d, supportedCompression);
2274 avro::decode(d, supportedFormats);
2275 avro::decode(d, currentDateTime);
2276 avro::decode(d, earliestRetainedChangeTime);
2277 avro::decode(d, serverAuthorizationRequired);
2278 avro::decode(d, endpointCapabilities);
2287namespace Energistics {
2290 namespace Datatypes {
2292 std::string applicationName;
2293 std::string applicationVersion;
2295 std::vector<std::string> supportedCompression;
2296 std::vector<std::string> supportedEncodings;
2297 std::vector<std::string> supportedFormats;
2298 std::vector<Energistics::Etp::v12::Datatypes::SupportedDataObject> supportedDataObjects;
2299 std::vector<Energistics::Etp::v12::Datatypes::SupportedProtocol> supportedProtocols;
2300 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> endpointCapabilities;
2307 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ServerCapabilities> {
2309 avro::encode(e, v.applicationName);
2310 avro::encode(e, v.applicationVersion);
2311 avro::encode(e, v.contactInformation);
2312 avro::encode(e, v.supportedCompression);
2313 avro::encode(e, v.supportedEncodings);
2314 avro::encode(e, v.supportedFormats);
2315 avro::encode(e, v.supportedDataObjects);
2316 avro::encode(e, v.supportedProtocols);
2317 avro::encode(e, v.endpointCapabilities);
2319 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ServerCapabilities& v) {
2320 avro::decode(d, v.applicationName);
2321 avro::decode(d, v.applicationVersion);
2322 avro::decode(d, v.contactInformation);
2323 avro::decode(d, v.supportedCompression);
2324 avro::decode(d, v.supportedEncodings);
2325 avro::decode(d, v.supportedFormats);
2326 avro::decode(d, v.supportedDataObjects);
2327 avro::decode(d, v.supportedProtocols);
2328 avro::decode(d, v.endpointCapabilities);
2332namespace Energistics {
2335 namespace Datatypes {
2336 namespace ChannelData {
2338 int64_t sinceChangeTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
2339 std::vector<int64_t> channelIds;
2347 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelChangeRequestInfo> {
2349 avro::encode(e, v.sinceChangeTime);
2350 avro::encode(e, v.channelIds);
2352 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelChangeRequestInfo& v) {
2353 avro::decode(d, v.sinceChangeTime);
2354 avro::decode(d, v.channelIds);
2358namespace Energistics {
2361 namespace Datatypes {
2362 namespace ChannelData {
2363 enum class ChannelDataKind {
2368 TrueVerticalDepth = 4,
2383 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind> {
2384 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind& v) {
2385 e.encodeEnum(
static_cast<std::size_t
>(v));
2387 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind& v) {
2388 v =
static_cast<Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind
>(d.decodeEnum());
2392namespace Energistics {
2395 namespace Datatypes {
2397 int32_t attributeId = 0;
2398 std::string attributeName;
2399 Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind dataKind;
2401 std::string depthDatum;
2402 std::string attributePropertyKindUri;
2403 std::vector<int32_t> axisVectorLengths;
2410 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::AttributeMetadataRecord> {
2412 avro::encode(e, v.attributeId);
2413 avro::encode(e, v.attributeName);
2414 avro::encode(e, v.dataKind);
2415 avro::encode(e, v.uom);
2416 avro::encode(e, v.depthDatum);
2417 avro::encode(e, v.attributePropertyKindUri);
2418 avro::encode(e, v.axisVectorLengths);
2420 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::AttributeMetadataRecord& v) {
2421 avro::decode(d, v.attributeId);
2422 avro::decode(d, v.attributeName);
2423 avro::decode(d, v.dataKind);
2424 avro::decode(d, v.uom);
2425 avro::decode(d, v.depthDatum);
2426 avro::decode(d, v.attributePropertyKindUri);
2427 avro::decode(d, v.axisVectorLengths);
2431namespace Energistics {
2434 namespace Datatypes {
2435 namespace ChannelData {
2436 enum class ChannelIndexKind {
2440 TrueVerticalDepth = 3,
2452 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelIndexKind> {
2453 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::ChannelData::ChannelIndexKind& v) {
2454 e.encodeEnum(
static_cast<std::size_t
>(v));
2456 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelIndexKind& v) {
2457 v =
static_cast<Energistics::Etp::v12::Datatypes::ChannelData::ChannelIndexKind
>(d.decodeEnum());
2461namespace Energistics {
2464 namespace Datatypes {
2465 namespace ChannelData {
2468 std::vector<Energistics::Etp::v12::Datatypes::DataAttribute> valueAttributes;
2476 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::FramePoint> {
2478 avro::encode(e, v.value);
2479 avro::encode(e, v.valueAttributes);
2481 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::FramePoint& v) {
2482 avro::decode(d, v.value);
2483 avro::decode(d, v.valueAttributes);
2487namespace Energistics {
2490 namespace Datatypes {
2491 namespace ChannelData {
2492 enum class IndexDirection {
2503 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::IndexDirection> {
2504 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::ChannelData::IndexDirection& v) {
2505 e.encodeEnum(
static_cast<std::size_t
>(v));
2507 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::IndexDirection& v) {
2508 v =
static_cast<Energistics::Etp::v12::Datatypes::ChannelData::IndexDirection
>(d.decodeEnum());
2512namespace Energistics {
2515 namespace Datatypes {
2516 namespace ChannelData {
2517 enum class PassDirection {
2528 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::PassDirection> {
2529 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::ChannelData::PassDirection& v) {
2530 e.encodeEnum(
static_cast<std::size_t
>(v));
2532 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::PassDirection& v) {
2533 v =
static_cast<Energistics::Etp::v12::Datatypes::ChannelData::PassDirection
>(d.decodeEnum());
2537namespace Energistics {
2540 namespace Datatypes {
2541 namespace ChannelData {
2544 Energistics::Etp::v12::Datatypes::ChannelData::PassDirection direction = Energistics::Etp::v12::Datatypes::ChannelData::PassDirection::Up;
2553 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::PassIndexedDepth> {
2555 avro::encode(e, v.pass);
2556 avro::encode(e, v.direction);
2557 avro::encode(e, v.depth);
2559 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::PassIndexedDepth& v) {
2560 avro::decode(d, v.pass);
2561 avro::decode(d, v.direction);
2562 avro::decode(d, v.depth);
2566namespace Energistics {
2569 namespace Datatypes {
2580 size_t idx()
const {
return value_.index(); }
2581 bool is_null()
const {
return idx() == 0; }
2582 void set_null() { value_ =
nullptr; }
2583 int64_t get_long()
const {
2584 return std::get<int64_t>(value_);
2586 void set_long(
const int64_t& v) {
2589 double get_double()
const {
2590 return std::get<double>(value_);
2592 void set_double(
const double& v) {
2596 return std::get<Energistics::Etp::v12::Datatypes::ChannelData::PassIndexedDepth>(value_);
2607 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::IndexValueitem_t> {
2611 e.encodeUnionIndex(v.idx());
2617 avro::encode(e, v.get_long());
2620 avro::encode(e, v.get_double());
2623 avro::encode(e, v.get_PassIndexedDepth());
2627 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::IndexValueitem_t& v) {
2629 size_t n = d.decodeUnionIndex();
2630 if (n >= 4) {
throw avro::Exception(
"Union index too big"); }
2641 avro::decode(d, vv);
2648 avro::decode(d, vv);
2654 Energistics::Etp::v12::Datatypes::ChannelData::PassIndexedDepth vv;
2655 avro::decode(d, vv);
2656 v.set_PassIndexedDepth(vv);
2664namespace Energistics {
2667 namespace Datatypes {
2676 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::IndexValue> {
2678 avro::encode(e, v.item);
2680 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::IndexValue& v) {
2681 avro::decode(d, v.item);
2685namespace Energistics {
2688 namespace Datatypes {
2689 namespace ChannelData {
2691 int64_t channelId = 0;
2693 bool dataChanges =
false;
2694 std::optional<int32_t> requestLatestIndexCount;
2695 bool has_requestLatestIndexCount()
const {
return requestLatestIndexCount.has_value(); }
2696 int32_t get_requestLatestIndexCount()
const {
return requestLatestIndexCount.value(); }
2704 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelSubscribeInfo> {
2706 avro::encode(e, v.channelId);
2707 avro::encode(e, v.startIndex);
2708 avro::encode(e, v.dataChanges);
2709 avro::encode(e, v.requestLatestIndexCount);
2711 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelSubscribeInfo& v) {
2712 avro::decode(d, v.channelId);
2713 avro::decode(d, v.startIndex);
2714 avro::decode(d, v.dataChanges);
2715 avro::decode(d, v.requestLatestIndexCount);
2719namespace Energistics {
2722 namespace Datatypes {
2723 namespace ChannelData {
2725 int64_t channelId = 0;
2726 std::vector<Energistics::Etp::v12::Datatypes::IndexValue> indexes;
2728 std::vector<Energistics::Etp::v12::Datatypes::DataAttribute> valueAttributes;
2736 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::DataItem> {
2738 avro::encode(e, v.channelId);
2739 avro::encode(e, v.indexes);
2740 avro::encode(e, v.value);
2741 avro::encode(e, v.valueAttributes);
2743 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::DataItem& v) {
2744 avro::decode(d, v.channelId);
2745 avro::decode(d, v.indexes);
2746 avro::decode(d, v.value);
2747 avro::decode(d, v.valueAttributes);
2751namespace Energistics {
2754 namespace Datatypes {
2755 namespace ChannelData {
2757 std::vector<Energistics::Etp::v12::Datatypes::IndexValue> indexes;
2758 std::vector<Energistics::Etp::v12::Datatypes::ChannelData::FramePoint> points;
2766 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::FrameRow> {
2768 avro::encode(e, v.indexes);
2769 avro::encode(e, v.points);
2771 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::FrameRow& v) {
2772 avro::decode(d, v.indexes);
2773 avro::decode(d, v.points);
2777namespace Energistics {
2780 namespace Datatypes {
2781 namespace ChannelData {
2783 int64_t channelId = 0;
2792 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::TruncateInfo> {
2794 avro::encode(e, v.channelId);
2795 avro::encode(e, v.newEndIndex);
2797 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::TruncateInfo& v) {
2798 avro::decode(d, v.channelId);
2799 avro::decode(d, v.newEndIndex);
2803namespace Energistics {
2806 namespace Datatypes {
2807 namespace DataArrayTypes {
2809 std::vector<int64_t> dimensions;
2818 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArray> {
2820 avro::encode(e, v.dimensions);
2821 avro::encode(e, v.data);
2823 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArray& v) {
2824 avro::decode(d, v.dimensions);
2825 avro::decode(d, v.data);
2829namespace Energistics {
2832 namespace Protocol {
2833 namespace DataArray {
2834 struct GetDataArraysResponse :
public ETP_NS::EtpMessage {
2835 static constexpr int32_t messageTypeId = 1;
2837 GetDataArraysResponse() {
2838 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
2839 this->messageHeader.messageType = messageTypeId;
2841 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArray> dataArrays;
2843 void encode(avro::Encoder& e)
const final {
2844 avro::encode(e, dataArrays);
2846 void decode(avro::Decoder& d)
final {
2847 avro::decode(d, dataArrays);
2855namespace Energistics {
2858 namespace Protocol {
2859 namespace DataArray {
2860 struct GetDataSubarraysResponse :
public ETP_NS::EtpMessage {
2861 static constexpr int32_t messageTypeId = 8;
2863 GetDataSubarraysResponse() {
2864 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
2865 this->messageHeader.messageType = messageTypeId;
2867 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArray> dataSubarrays;
2869 void encode(avro::Encoder& e)
const final {
2870 avro::encode(e, dataSubarrays);
2872 void decode(avro::Decoder& d)
final {
2873 avro::decode(d, dataSubarrays);
2881namespace Energistics {
2884 namespace Datatypes {
2885 namespace DataArrayTypes {
2888 std::string pathInResource;
2896 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayIdentifier> {
2898 avro::encode(e, v.uri);
2899 avro::encode(e, v.pathInResource);
2901 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayIdentifier& v) {
2902 avro::decode(d, v.uri);
2903 avro::decode(d, v.pathInResource);
2907namespace Energistics {
2910 namespace Protocol {
2911 namespace DataArray {
2912 struct GetDataArrayMetadata :
public ETP_NS::EtpMessage {
2913 static constexpr int32_t messageTypeId = 6;
2915 GetDataArrayMetadata() {
2916 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
2917 this->messageHeader.messageType = messageTypeId;
2919 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayIdentifier> dataArrays;
2921 void encode(avro::Encoder& e)
const final {
2922 avro::encode(e, dataArrays);
2924 void decode(avro::Decoder& d)
final {
2925 avro::decode(d, dataArrays);
2933namespace Energistics {
2936 namespace Protocol {
2937 namespace DataArray {
2938 struct GetDataArrays :
public ETP_NS::EtpMessage {
2939 static constexpr int32_t messageTypeId = 2;
2942 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
2943 this->messageHeader.messageType = messageTypeId;
2945 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayIdentifier> dataArrays;
2947 void encode(avro::Encoder& e)
const final {
2948 avro::encode(e, dataArrays);
2950 void decode(avro::Decoder& d)
final {
2951 avro::decode(d, dataArrays);
2959namespace Energistics {
2962 namespace Datatypes {
2963 namespace DataArrayTypes {
2966 std::vector<int64_t> starts;
2967 std::vector<int64_t> counts;
2975 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::GetDataSubarraysType> {
2977 avro::encode(e, v.uid);
2978 avro::encode(e, v.starts);
2979 avro::encode(e, v.counts);
2981 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::GetDataSubarraysType& v) {
2982 avro::decode(d, v.uid);
2983 avro::decode(d, v.starts);
2984 avro::decode(d, v.counts);
2988namespace Energistics {
2991 namespace Protocol {
2992 namespace DataArray {
2993 struct GetDataSubarrays :
public ETP_NS::EtpMessage {
2994 static constexpr int32_t messageTypeId = 3;
2996 GetDataSubarrays() {
2997 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
2998 this->messageHeader.messageType = messageTypeId;
3000 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::GetDataSubarraysType> dataSubarrays;
3002 void encode(avro::Encoder& e)
const final {
3003 avro::encode(e, dataSubarrays);
3005 void decode(avro::Decoder& d)
final {
3006 avro::decode(d, dataSubarrays);
3009 std::string body_to_string()
const final {
3010 std::ostringstream oss;
3011 oss <<
"*************************************************\n"
3012 <<
"Message Body put in the queue :\n";
3013 for (
auto keyVal : dataSubarrays) {
3014 oss <<
"Key : " << keyVal.first <<
" Value : Starts ";
3015 for (
auto dim : keyVal.second.starts) {
3019 for (
auto dim : keyVal.second.counts) {
3022 oss <<
"\n" <<
"URI " << keyVal.second.uid.uri <<
" Path " << keyVal.second.uid.pathInResource <<
"\n";
3024 oss <<
"*************************************************";
3033namespace Energistics {
3036 namespace Datatypes {
3037 namespace DataArrayTypes {
3039 std::vector<int64_t> dimensions;
3040 std::vector<int64_t> preferredSubarrayDimensions;
3041 Energistics::Etp::v12::Datatypes::AnyArrayType transportArrayType;
3042 Energistics::Etp::v12::Datatypes::AnyLogicalArrayType logicalArrayType;
3043 int64_t storeLastWrite = 0;
3044 int64_t storeCreated = 0;
3045 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3053 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayMetadata> {
3055 avro::encode(e, v.dimensions);
3056 avro::encode(e, v.preferredSubarrayDimensions);
3057 avro::encode(e, v.transportArrayType);
3058 avro::encode(e, v.logicalArrayType);
3059 avro::encode(e, v.storeLastWrite);
3060 avro::encode(e, v.storeCreated);
3061 avro::encode(e, v.customData);
3063 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayMetadata& v) {
3064 avro::decode(d, v.dimensions);
3065 avro::decode(d, v.preferredSubarrayDimensions);
3066 avro::decode(d, v.transportArrayType);
3067 avro::decode(d, v.logicalArrayType);
3068 avro::decode(d, v.storeLastWrite);
3069 avro::decode(d, v.storeCreated);
3070 avro::decode(d, v.customData);
3074namespace Energistics {
3077 namespace Protocol {
3078 namespace DataArray {
3079 struct GetDataArrayMetadataResponse :
public ETP_NS::EtpMessage {
3080 static constexpr int32_t messageTypeId = 7;
3082 GetDataArrayMetadataResponse() {
3083 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
3084 this->messageHeader.messageType = messageTypeId;
3086 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::DataArrayMetadata> arrayMetadata;
3088 void encode(avro::Encoder& e)
const final {
3089 avro::encode(e, arrayMetadata);
3091 void decode(avro::Decoder& d)
final {
3092 avro::decode(d, arrayMetadata);
3100namespace Energistics {
3103 namespace Datatypes {
3104 namespace DataArrayTypes {
3108 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3116 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataArraysType> {
3118 avro::encode(e, v.uid);
3119 avro::encode(e, v.array);
3120 avro::encode(e, v.customData);
3122 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataArraysType& v) {
3123 avro::decode(d, v.uid);
3124 avro::decode(d, v.array);
3125 avro::decode(d, v.customData);
3129namespace Energistics {
3132 namespace Protocol {
3133 namespace DataArray {
3134 struct PutDataArrays :
public ETP_NS::EtpMessage {
3135 static constexpr int32_t messageTypeId = 4;
3138 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
3139 this->messageHeader.messageType = messageTypeId;
3141 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataArraysType> dataArrays;
3143 void encode(avro::Encoder& e)
const final {
3144 avro::encode(e, dataArrays);
3146 void decode(avro::Decoder& d)
final {
3147 avro::decode(d, dataArrays);
3155namespace Energistics {
3158 namespace Datatypes {
3159 namespace DataArrayTypes {
3163 std::vector<int64_t> starts;
3164 std::vector<int64_t> counts;
3172 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataSubarraysType> {
3174 avro::encode(e, v.uid);
3175 avro::encode(e, v.data);
3176 avro::encode(e, v.starts);
3177 avro::encode(e, v.counts);
3179 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataSubarraysType& v) {
3180 avro::decode(d, v.uid);
3181 avro::decode(d, v.data);
3182 avro::decode(d, v.starts);
3183 avro::decode(d, v.counts);
3187namespace Energistics {
3190 namespace Protocol {
3191 namespace DataArray {
3192 struct PutDataSubarrays :
public ETP_NS::EtpMessage {
3193 static constexpr int32_t messageTypeId = 5;
3195 PutDataSubarrays() {
3196 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
3197 this->messageHeader.messageType = messageTypeId;
3199 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutDataSubarraysType> dataSubarrays;
3201 void encode(avro::Encoder& e)
const final {
3202 avro::encode(e, dataSubarrays);
3204 void decode(avro::Decoder& d)
final {
3205 avro::decode(d, dataSubarrays);
3213namespace Energistics {
3216 namespace Datatypes {
3217 namespace DataArrayTypes {
3228 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::DataArrayTypes::PutUninitializedDataArrayType> {
3230 avro::encode(e, v.uid);
3231 avro::encode(e, v.metadata);
3233 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutUninitializedDataArrayType& v) {
3234 avro::decode(d, v.uid);
3235 avro::decode(d, v.metadata);
3239namespace Energistics {
3242 namespace Protocol {
3243 namespace DataArray {
3244 struct PutUninitializedDataArrays :
public ETP_NS::EtpMessage {
3245 static constexpr int32_t messageTypeId = 9;
3247 PutUninitializedDataArrays() {
3248 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataArray);
3249 this->messageHeader.messageType = messageTypeId;
3251 std::map<std::string, Energistics::Etp::v12::Datatypes::DataArrayTypes::PutUninitializedDataArrayType> dataArrays;
3253 void encode(avro::Encoder& e)
const final {
3254 avro::encode(e, dataArrays);
3256 void decode(avro::Decoder& d)
final {
3257 avro::decode(d, dataArrays);
3265namespace Energistics {
3268 namespace Datatypes {
3270 enum class ActiveStatusKind {
3280 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind> {
3281 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind& v) {
3282 e.encodeEnum(
static_cast<std::size_t
>(v));
3284 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind& v) {
3285 v =
static_cast<Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind
>(d.decodeEnum());
3289namespace Energistics {
3292 namespace Datatypes {
3293 namespace ChannelData {
3296 std::string channelName;
3297 Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind dataKind = Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind::DateTime;
3299 std::string depthDatum;
3300 std::string channelPropertyKindUri;
3301 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind status = Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind::Active;
3303 std::vector<int32_t> axisVectorLengths;
3304 std::vector<Energistics::Etp::v12::Datatypes::AttributeMetadataRecord> attributeMetadata;
3305 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3313 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::FrameChannelMetadataRecord> {
3315 avro::encode(e, v.uri);
3316 avro::encode(e, v.channelName);
3317 avro::encode(e, v.dataKind);
3318 avro::encode(e, v.uom);
3319 avro::encode(e, v.depthDatum);
3320 avro::encode(e, v.channelPropertyKindUri);
3321 avro::encode(e, v.status);
3322 avro::encode(e, v.source);
3323 avro::encode(e, v.axisVectorLengths);
3324 avro::encode(e, v.attributeMetadata);
3325 avro::encode(e, v.customData);
3327 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::FrameChannelMetadataRecord& v) {
3328 avro::decode(d, v.uri);
3329 avro::decode(d, v.channelName);
3330 avro::decode(d, v.dataKind);
3331 avro::decode(d, v.uom);
3332 avro::decode(d, v.depthDatum);
3333 avro::decode(d, v.channelPropertyKindUri);
3334 avro::decode(d, v.status);
3335 avro::decode(d, v.source);
3336 avro::decode(d, v.axisVectorLengths);
3337 avro::decode(d, v.attributeMetadata);
3338 avro::decode(d, v.customData);
3342namespace Energistics {
3345 namespace Datatypes {
3347 enum class ContextScopeKind {
3360 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ContextScopeKind> {
3361 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::Object::ContextScopeKind& v) {
3362 e.encodeEnum(
static_cast<std::size_t
>(v));
3364 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ContextScopeKind& v) {
3365 v =
static_cast<Energistics::Etp::v12::Datatypes::Object::ContextScopeKind
>(d.decodeEnum());
3369namespace Energistics {
3372 namespace Datatypes {
3377 int64_t storeLastWrite = 0;
3378 int64_t storeCreated = 0;
3379 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3387 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::Dataspace> {
3389 avro::encode(e, v.uri);
3390 avro::encode(e, v.path);
3391 avro::encode(e, v.storeLastWrite);
3392 avro::encode(e, v.storeCreated);
3393 avro::encode(e, v.customData);
3395 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::Dataspace& v) {
3396 avro::decode(d, v.uri);
3397 avro::decode(d, v.path);
3398 avro::decode(d, v.storeLastWrite);
3399 avro::decode(d, v.storeCreated);
3400 avro::decode(d, v.customData);
3404namespace Energistics {
3407 namespace Protocol {
3408 namespace Dataspace {
3409 struct GetDataspacesResponse :
public ETP_NS::EtpMessage {
3410 static constexpr int32_t messageTypeId = 2;
3412 GetDataspacesResponse() {
3413 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
3414 this->messageHeader.messageType = messageTypeId;
3416 std::vector<Energistics::Etp::v12::Datatypes::Object::Dataspace> dataspaces;
3418 void encode(avro::Encoder& e)
const final {
3419 avro::encode(e, dataspaces);
3421 void decode(avro::Decoder& d)
final {
3422 avro::decode(d, dataspaces);
3430namespace Energistics {
3433 namespace Protocol {
3434 namespace Dataspace {
3435 struct PutDataspaces :
public ETP_NS::EtpMessage {
3436 static constexpr int32_t messageTypeId = 3;
3439 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Dataspace);
3440 this->messageHeader.messageType = messageTypeId;
3442 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::Dataspace> dataspaces;
3444 void encode(avro::Encoder& e)
const final {
3445 avro::encode(e, dataspaces);
3447 void decode(avro::Decoder& d)
final {
3448 avro::decode(d, dataspaces);
3456namespace Energistics {
3459 namespace Protocol {
3460 namespace CoreOSDU {
3461 struct ResumeSession :
public ETP_NS::EtpMessage {
3462 static constexpr int32_t messageTypeId = 1;
3465 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::CoreOSDU);
3466 this->messageHeader.messageType = messageTypeId;
3468 std::string applicationName;
3469 std::string applicationVersion;
3471 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
3474 void encode(avro::Encoder& e)
const final {
3475 avro::encode(e, applicationName);
3476 avro::encode(e, applicationVersion);
3477 avro::encode(e, clientInstanceId);
3478 avro::encode(e, currentDateTime);
3479 avro::encode(e, sessionId);
3481 void decode(avro::Decoder& d)
final {
3482 avro::decode(d, applicationName);
3483 avro::decode(d, applicationVersion);
3484 avro::decode(d, clientInstanceId);
3485 avro::decode(d, currentDateTime);
3486 avro::decode(d, sessionId);
3494namespace Energistics {
3497 namespace Protocol {
3498 namespace CoreOSDU {
3499 struct ResumeSessionResponse :
public ETP_NS::EtpMessage {
3500 static constexpr int32_t messageTypeId = 2;
3502 ResumeSessionResponse() {
3503 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::CoreOSDU);
3504 this->messageHeader.messageType = messageTypeId;
3506 std::string applicationName;
3507 std::string applicationVersion;
3509 int64_t currentDateTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
3511 int64_t earliestRetainedChangeTime = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
3513 void encode(avro::Encoder& e)
const final {
3514 avro::encode(e, applicationName);
3515 avro::encode(e, applicationVersion);
3516 avro::encode(e, serverInstanceId);
3517 avro::encode(e, currentDateTime);
3518 avro::encode(e, sessionId);
3519 avro::encode(e, earliestRetainedChangeTime);
3521 void decode(avro::Decoder& d)
final {
3522 avro::decode(d, applicationName);
3523 avro::decode(d, applicationVersion);
3524 avro::decode(d, serverInstanceId);
3525 avro::decode(d, currentDateTime);
3526 avro::decode(d, sessionId);
3527 avro::decode(d, earliestRetainedChangeTime);
3535namespace Energistics {
3538 namespace Protocol {
3539 namespace StoreOSDU {
3540 struct CopyDataObjectsByValue :
public ETP_NS::EtpMessage {
3541 static constexpr int32_t messageTypeId = 1;
3543 CopyDataObjectsByValue() {
3544 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreOSDU);
3545 this->messageHeader.messageType = messageTypeId;
3548 int32_t sourcesDepth = 0;
3549 std::vector<std::string> dataObjectTypes;
3551 void encode(avro::Encoder& e)
const final {
3552 avro::encode(e, uri);
3553 avro::encode(e, sourcesDepth);
3554 avro::encode(e, dataObjectTypes);
3556 void decode(avro::Decoder& d)
final {
3557 avro::decode(d, uri);
3558 avro::decode(d, sourcesDepth);
3559 avro::decode(d, dataObjectTypes);
3567namespace Energistics {
3570 namespace Protocol {
3571 namespace StoreOSDU {
3572 struct CopyDataObjectsByValueResponse :
public ETP_NS::EtpMessage {
3573 static constexpr int32_t messageTypeId = 2;
3575 CopyDataObjectsByValueResponse() {
3576 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreOSDU);
3577 this->messageHeader.messageType = messageTypeId;
3579 std::vector<std::string> copiedDataObjects;
3581 void encode(avro::Encoder& e)
const final {
3582 avro::encode(e, copiedDataObjects);
3584 void decode(avro::Decoder& d)
final {
3585 avro::decode(d, copiedDataObjects);
3593namespace Energistics {
3596 namespace Protocol {
3597 namespace DataspaceOSDU {
3598 struct GetDataspaceInfo :
public ETP_NS::EtpMessage {
3599 static constexpr int32_t messageTypeId = 1;
3601 GetDataspaceInfo() {
3602 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3603 this->messageHeader.messageType = messageTypeId;
3605 std::map<std::string, std::string> uris;
3607 void encode(avro::Encoder& e)
const final {
3608 avro::encode(e, uris);
3610 void decode(avro::Decoder& d)
final {
3611 avro::decode(d, uris);
3619namespace Energistics {
3622 namespace Protocol {
3623 namespace DataspaceOSDU {
3624 struct GetDataspaceInfoResponse :
public ETP_NS::EtpMessage {
3625 static constexpr int32_t messageTypeId = 2;
3627 GetDataspaceInfoResponse() {
3628 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3629 this->messageHeader.messageType = messageTypeId;
3631 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::Dataspace> dataspaces;
3633 void encode(avro::Encoder& e)
const final {
3634 avro::encode(e, dataspaces);
3636 void decode(avro::Decoder& d)
final {
3637 avro::decode(d, dataspaces);
3645namespace Energistics {
3648 namespace Protocol {
3649 namespace DataspaceOSDU {
3650 struct CopyDataspacesContent :
public ETP_NS::EtpMessage {
3651 static constexpr int32_t messageTypeId = 3;
3653 CopyDataspacesContent() {
3654 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3655 this->messageHeader.messageType = messageTypeId;
3657 std::map<std::string, std::string> dataspaces;
3658 std::string targetDataspace;
3660 void encode(avro::Encoder& e)
const final {
3661 avro::encode(e, dataspaces);
3662 avro::encode(e, targetDataspace);
3664 void decode(avro::Decoder& d)
final {
3665 avro::decode(d, dataspaces);
3666 avro::decode(d, targetDataspace);
3674namespace Energistics {
3677 namespace Protocol {
3678 namespace DataspaceOSDU {
3679 struct CopyDataspacesContentResponse :
public ETP_NS::EtpMessage {
3680 static constexpr int32_t messageTypeId = 4;
3682 CopyDataspacesContentResponse() {
3683 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3684 this->messageHeader.messageType = messageTypeId;
3686 std::map<std::string, std::string> success;
3688 void encode(avro::Encoder& e)
const final {
3689 avro::encode(e, success);
3691 void decode(avro::Decoder& d)
final {
3692 avro::decode(d, success);
3700namespace Energistics {
3703 namespace Protocol {
3704 namespace DataspaceOSDU {
3705 struct LockDataspaces :
public ETP_NS::EtpMessage {
3706 static constexpr int32_t messageTypeId = 5;
3709 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3710 this->messageHeader.messageType = messageTypeId;
3712 std::map<std::string, std::string> uris;
3715 void encode(avro::Encoder& e)
const final {
3716 avro::encode(e, uris);
3717 avro::encode(e, lock);
3719 void decode(avro::Decoder& d)
final {
3720 avro::decode(d, uris);
3721 avro::decode(d, lock);
3729namespace Energistics {
3732 namespace Protocol {
3733 namespace DataspaceOSDU {
3734 struct LockDataspacesResponse :
public ETP_NS::EtpMessage {
3735 static constexpr int32_t messageTypeId = 6;
3737 LockDataspacesResponse() {
3738 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3739 this->messageHeader.messageType = messageTypeId;
3741 std::map<std::string, std::string> success;
3743 void encode(avro::Encoder& e)
const final {
3744 avro::encode(e, success);
3746 void decode(avro::Decoder& d)
final {
3747 avro::decode(d, success);
3755namespace Energistics {
3758 namespace Protocol {
3759 namespace DataspaceOSDU {
3760 struct CopyToDataspace :
public ETP_NS::EtpMessage {
3761 static constexpr int32_t messageTypeId = 7;
3764 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3765 this->messageHeader.messageType = messageTypeId;
3767 std::map<std::string, std::string> uris;
3768 std::string dataspaceUri;
3770 void encode(avro::Encoder& e)
const final {
3771 avro::encode(e, uris);
3772 avro::encode(e, dataspaceUri);
3774 void decode(avro::Decoder& d)
final {
3775 avro::decode(d, uris);
3776 avro::decode(d, dataspaceUri);
3784namespace Energistics {
3787 namespace Protocol {
3788 namespace DataspaceOSDU {
3789 struct CopyToDataspaceResponse :
public ETP_NS::EtpMessage {
3790 static constexpr int32_t messageTypeId = 8;
3792 CopyToDataspaceResponse() {
3793 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DataspaceOSDU);
3794 this->messageHeader.messageType = messageTypeId;
3796 std::map<std::string, std::string> success;
3798 void encode(avro::Encoder& e)
const final {
3799 avro::encode(e, success);
3801 void decode(avro::Decoder& d)
final {
3802 avro::decode(d, success);
3810namespace Energistics {
3813 namespace Datatypes {
3817 int64_t deletedTime = 0;
3818 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3826 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::DeletedResource> {
3828 avro::encode(e, v.uri);
3829 avro::encode(e, v.deletedTime);
3830 avro::encode(e, v.customData);
3832 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::DeletedResource& v) {
3833 avro::decode(d, v.uri);
3834 avro::decode(d, v.deletedTime);
3835 avro::decode(d, v.customData);
3839namespace Energistics {
3842 namespace Protocol {
3843 namespace Discovery {
3844 struct GetDeletedResourcesResponse :
public ETP_NS::EtpMessage {
3845 static constexpr int32_t messageTypeId = 6;
3847 GetDeletedResourcesResponse() {
3848 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Discovery);
3849 this->messageHeader.messageType = messageTypeId;
3851 std::vector<Energistics::Etp::v12::Datatypes::Object::DeletedResource> deletedResources;
3853 void encode(avro::Encoder& e)
const final {
3854 avro::encode(e, deletedResources);
3856 void decode(avro::Decoder& d)
final {
3857 avro::decode(d, deletedResources);
3865namespace Energistics {
3868 namespace Datatypes {
3874 std::string depthDatum;
3882 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::IndexInterval> {
3884 avro::encode(e, v.startIndex);
3885 avro::encode(e, v.endIndex);
3886 avro::encode(e, v.uom);
3887 avro::encode(e, v.depthDatum);
3889 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::IndexInterval& v) {
3890 avro::decode(d, v.startIndex);
3891 avro::decode(d, v.endIndex);
3892 avro::decode(d, v.uom);
3893 avro::decode(d, v.depthDatum);
3897namespace Energistics {
3900 namespace Datatypes {
3901 namespace ChannelData {
3903 std::vector<int64_t> channelIds;
3905 std::vector<Energistics::Etp::v12::Datatypes::Object::IndexInterval> secondaryIntervals;
3913 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelRangeInfo> {
3915 avro::encode(e, v.channelIds);
3916 avro::encode(e, v.interval);
3917 avro::encode(e, v.secondaryIntervals);
3919 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelRangeInfo& v) {
3920 avro::decode(d, v.channelIds);
3921 avro::decode(d, v.interval);
3922 avro::decode(d, v.secondaryIntervals);
3926namespace Energistics {
3929 namespace Datatypes {
3930 namespace ChannelData {
3932 Energistics::Etp::v12::Datatypes::ChannelData::ChannelIndexKind indexKind;
3934 Energistics::Etp::v12::Datatypes::ChannelData::IndexDirection direction;
3937 std::string depthDatum;
3938 std::string indexPropertyKindUri;
3939 bool filterable =
false;
3947 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::IndexMetadataRecord> {
3949 avro::encode(e, v.indexKind);
3950 avro::encode(e, v.interval);
3951 avro::encode(e, v.direction);
3952 avro::encode(e, v.name);
3953 avro::encode(e, v.uom);
3954 avro::encode(e, v.depthDatum);
3955 avro::encode(e, v.indexPropertyKindUri);
3956 avro::encode(e, v.filterable);
3958 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::IndexMetadataRecord& v) {
3959 avro::decode(d, v.indexKind);
3960 avro::decode(d, v.interval);
3961 avro::decode(d, v.direction);
3962 avro::decode(d, v.name);
3963 avro::decode(d, v.uom);
3964 avro::decode(d, v.depthDatum);
3965 avro::decode(d, v.indexPropertyKindUri);
3966 avro::decode(d, v.filterable);
3970namespace Energistics {
3973 namespace Datatypes {
3974 namespace ChannelData {
3978 std::vector<Energistics::Etp::v12::Datatypes::ChannelData::IndexMetadataRecord> indexes;
3979 std::string channelName;
3980 Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind dataKind = Energistics::Etp::v12::Datatypes::ChannelData::ChannelDataKind::DateTime;
3982 std::string depthDatum;
3983 std::string channelClassUri;
3984 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind status = Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind::Active;
3986 std::vector<int32_t> axisVectorLengths;
3987 std::vector<Energistics::Etp::v12::Datatypes::AttributeMetadataRecord> attributeMetadata;
3988 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
3996 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::ChannelMetadataRecord> {
3998 avro::encode(e, v.uri);
3999 avro::encode(e, v.id);
4000 avro::encode(e, v.indexes);
4001 avro::encode(e, v.channelName);
4002 avro::encode(e, v.dataKind);
4003 avro::encode(e, v.uom);
4004 avro::encode(e, v.depthDatum);
4005 avro::encode(e, v.channelClassUri);
4006 avro::encode(e, v.status);
4007 avro::encode(e, v.source);
4008 avro::encode(e, v.axisVectorLengths);
4009 avro::encode(e, v.attributeMetadata);
4010 avro::encode(e, v.customData);
4012 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::ChannelMetadataRecord& v) {
4013 avro::decode(d, v.uri);
4014 avro::decode(d, v.id);
4015 avro::decode(d, v.indexes);
4016 avro::decode(d, v.channelName);
4017 avro::decode(d, v.dataKind);
4018 avro::decode(d, v.uom);
4019 avro::decode(d, v.depthDatum);
4020 avro::decode(d, v.channelClassUri);
4021 avro::decode(d, v.status);
4022 avro::decode(d, v.source);
4023 avro::decode(d, v.axisVectorLengths);
4024 avro::decode(d, v.attributeMetadata);
4025 avro::decode(d, v.customData);
4029namespace Energistics {
4032 namespace Datatypes {
4033 namespace ChannelData {
4036 bool preferRealtime =
false;
4037 bool dataChanges =
false;
4045 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::ChannelData::OpenChannelInfo> {
4047 avro::encode(e, v.metadata);
4048 avro::encode(e, v.preferRealtime);
4049 avro::encode(e, v.dataChanges);
4051 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::ChannelData::OpenChannelInfo& v) {
4052 avro::decode(d, v.metadata);
4053 avro::decode(d, v.preferRealtime);
4054 avro::decode(d, v.dataChanges);
4058namespace Energistics {
4061 namespace Datatypes {
4064 int64_t changeTime = 0;
4073 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ChangeAnnotation> {
4075 avro::encode(e, v.changeTime);
4076 avro::encode(e, v.interval);
4078 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ChangeAnnotation& v) {
4079 avro::decode(d, v.changeTime);
4080 avro::decode(d, v.interval);
4084namespace Energistics {
4087 namespace Datatypes {
4090 int64_t responseTimestamp = 0;
4091 std::map<std::string, std::vector<Energistics::Etp::v12::Datatypes::Object::ChangeAnnotation> > changes;
4099 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ChangeResponseInfo> {
4101 avro::encode(e, v.responseTimestamp);
4102 avro::encode(e, v.changes);
4104 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ChangeResponseInfo& v) {
4105 avro::decode(d, v.responseTimestamp);
4106 avro::decode(d, v.changes);
4110namespace Energistics {
4113 namespace Datatypes {
4115 enum class ObjectChangeKind {
4121 joinedSubscription = 5,
4122 unjoinedSubscription = 6
4130 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind> {
4131 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind& v) {
4132 e.encodeEnum(
static_cast<std::size_t
>(v));
4134 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind& v) {
4135 v =
static_cast<Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind
>(d.decodeEnum());
4139namespace Energistics {
4142 namespace Datatypes {
4154 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ObjectPart> {
4156 avro::encode(e, v.uid);
4157 avro::encode(e, v.data);
4159 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ObjectPart& v) {
4160 avro::decode(d, v.uid);
4161 avro::decode(d, v.data);
4165namespace Energistics {
4168 namespace Datatypes {
4174 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
4182 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::PartsMetadataInfo> {
4184 avro::encode(e, v.uri);
4185 avro::encode(e, v.name);
4186 avro::encode(e, v.index);
4187 avro::encode(e, v.customData);
4189 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::PartsMetadataInfo& v) {
4190 avro::decode(d, v.uri);
4191 avro::decode(d, v.name);
4192 avro::decode(d, v.index);
4193 avro::decode(d, v.customData);
4197namespace Energistics {
4200 namespace Datatypes {
4203 std::vector<std::string> createdContainedObjectUris;
4204 std::vector<std::string> deletedContainedObjectUris;
4205 std::vector<std::string> joinedContainedObjectUris;
4206 std::vector<std::string> unjoinedContainedObjectUris;
4214 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::PutResponse> {
4216 avro::encode(e, v.createdContainedObjectUris);
4217 avro::encode(e, v.deletedContainedObjectUris);
4218 avro::encode(e, v.joinedContainedObjectUris);
4219 avro::encode(e, v.unjoinedContainedObjectUris);
4221 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::PutResponse& v) {
4222 avro::decode(d, v.createdContainedObjectUris);
4223 avro::decode(d, v.deletedContainedObjectUris);
4224 avro::decode(d, v.joinedContainedObjectUris);
4225 avro::decode(d, v.unjoinedContainedObjectUris);
4229namespace Energistics {
4232 namespace Protocol {
4234 struct PutDataObjectsResponse :
public ETP_NS::EtpMessage {
4235 static constexpr int32_t messageTypeId = 9;
4237 PutDataObjectsResponse() {
4238 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
4239 this->messageHeader.messageType = messageTypeId;
4241 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::PutResponse> success;
4243 void encode(avro::Encoder& e)
const final {
4244 avro::encode(e, success);
4246 void decode(avro::Decoder& d)
final {
4247 avro::decode(d, success);
4255namespace Energistics {
4258 namespace Datatypes {
4260 enum class RelationshipKind {
4271 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::RelationshipKind> {
4272 static void encode(Encoder& e,
const Energistics::Etp::v12::Datatypes::Object::RelationshipKind& v) {
4273 e.encodeEnum(
static_cast<std::size_t
>(v));
4275 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::RelationshipKind& v) {
4276 v =
static_cast<Energistics::Etp::v12::Datatypes::Object::RelationshipKind
>(d.decodeEnum());
4280namespace Energistics {
4283 namespace Datatypes {
4288 std::vector<std::string> dataObjectTypes;
4289 Energistics::Etp::v12::Datatypes::Object::RelationshipKind navigableEdges = Energistics::Etp::v12::Datatypes::Object::RelationshipKind::Primary;
4290 bool includeSecondaryTargets =
false;
4291 bool includeSecondarySources =
false;
4299 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ContextInfo> {
4301 avro::encode(e, v.uri);
4302 avro::encode(e, v.depth);
4303 avro::encode(e, v.dataObjectTypes);
4304 avro::encode(e, v.navigableEdges);
4305 avro::encode(e, v.includeSecondaryTargets);
4306 avro::encode(e, v.includeSecondarySources);
4308 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ContextInfo& v) {
4309 avro::decode(d, v.uri);
4310 avro::decode(d, v.depth);
4311 avro::decode(d, v.dataObjectTypes);
4312 avro::decode(d, v.navigableEdges);
4313 avro::decode(d, v.includeSecondaryTargets);
4314 avro::decode(d, v.includeSecondarySources);
4318namespace Energistics {
4321 namespace Protocol {
4322 namespace Discovery {
4323 struct GetResources :
public ETP_NS::EtpMessage {
4324 static constexpr int32_t messageTypeId = 1;
4327 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Discovery);
4328 this->messageHeader.messageType = messageTypeId;
4331 Energistics::Etp::v12::Datatypes::Object::ContextScopeKind scope = Energistics::Etp::v12::Datatypes::Object::ContextScopeKind::targets;
4332 bool countObjects =
false;
4333 std::optional<int64_t> storeLastWriteFilter;
4334 bool has_storeLastWriteFilter()
const {
return storeLastWriteFilter.has_value(); }
4335 int64_t get_storeLastWriteFilter()
const {
return storeLastWriteFilter.value(); }
4336 std::optional<Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind> activeStatusFilter;
4337 bool has_activeStatusFilter()
const {
return activeStatusFilter.has_value(); }
4338 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind get_activeStatusFilter()
const {
return activeStatusFilter.value(); }
4339 bool includeEdges =
false;
4341 void encode(avro::Encoder& e)
const final {
4342 avro::encode(e, context);
4343 avro::encode(e, scope);
4344 avro::encode(e, countObjects);
4345 avro::encode(e, storeLastWriteFilter);
4346 avro::encode(e, activeStatusFilter);
4347 avro::encode(e, includeEdges);
4349 void decode(avro::Decoder& d)
final {
4350 avro::decode(d, context);
4351 avro::decode(d, scope);
4352 avro::decode(d, countObjects);
4353 avro::decode(d, storeLastWriteFilter);
4354 avro::decode(d, activeStatusFilter);
4355 avro::decode(d, includeEdges);
4363namespace Energistics {
4366 namespace Protocol {
4367 namespace DiscoveryQuery {
4368 struct FindResources :
public ETP_NS::EtpMessage {
4369 static constexpr int32_t messageTypeId = 1;
4372 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DiscoveryQuery);
4373 this->messageHeader.messageType = messageTypeId;
4376 Energistics::Etp::v12::Datatypes::Object::ContextScopeKind scope = Energistics::Etp::v12::Datatypes::Object::ContextScopeKind::targets;
4377 std::optional<int64_t> storeLastWriteFilter;
4378 bool has_storeLastWriteFilter()
const {
return storeLastWriteFilter.has_value(); }
4379 int64_t get_storeLastWriteFilter()
const {
return storeLastWriteFilter.value(); }
4380 std::optional<Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind> activeStatusFilter;
4381 bool has_activeStatusFilter()
const {
return activeStatusFilter.has_value(); }
4382 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind get_activeStatusFilter()
const {
return activeStatusFilter.value(); }
4384 void encode(avro::Encoder& e)
const final {
4385 avro::encode(e, context);
4386 avro::encode(e, scope);
4387 avro::encode(e, storeLastWriteFilter);
4388 avro::encode(e, activeStatusFilter);
4390 void decode(avro::Decoder& d)
final {
4391 avro::decode(d, context);
4392 avro::decode(d, scope);
4393 avro::decode(d, storeLastWriteFilter);
4394 avro::decode(d, activeStatusFilter);
4402namespace Energistics {
4405 namespace Protocol {
4406 namespace StoreQuery {
4407 struct FindDataObjects :
public ETP_NS::EtpMessage {
4408 static constexpr int32_t messageTypeId = 1;
4411 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreQuery);
4412 this->messageHeader.messageType = messageTypeId;
4415 Energistics::Etp::v12::Datatypes::Object::ContextScopeKind scope = Energistics::Etp::v12::Datatypes::Object::ContextScopeKind::targets;
4416 std::optional<int64_t> storeLastWriteFilter;
4417 bool has_storeLastWriteFilter()
const {
return storeLastWriteFilter.has_value(); }
4418 int64_t get_storeLastWriteFilter()
const {
return storeLastWriteFilter.value(); }
4419 std::optional<Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind> activeStatusFilter;
4420 bool has_activeStatusFilter()
const {
return activeStatusFilter.has_value(); }
4421 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind get_activeStatusFilter()
const {
return activeStatusFilter.value(); }
4424 void encode(avro::Encoder& e)
const final {
4425 avro::encode(e, context);
4426 avro::encode(e, scope);
4427 avro::encode(e, storeLastWriteFilter);
4428 avro::encode(e, activeStatusFilter);
4429 avro::encode(e, format);
4431 void decode(avro::Decoder& d)
final {
4432 avro::decode(d, context);
4433 avro::decode(d, scope);
4434 avro::decode(d, storeLastWriteFilter);
4435 avro::decode(d, activeStatusFilter);
4436 avro::decode(d, format);
4444namespace Energistics {
4447 namespace Datatypes {
4450 std::string sourceUri;
4451 std::string targetUri;
4452 Energistics::Etp::v12::Datatypes::Object::RelationshipKind relationshipKind = Energistics::Etp::v12::Datatypes::Object::RelationshipKind::Primary;
4453 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
4461 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::Edge> {
4463 avro::encode(e, v.sourceUri);
4464 avro::encode(e, v.targetUri);
4465 avro::encode(e, v.relationshipKind);
4466 avro::encode(e, v.customData);
4468 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::Edge& v) {
4469 avro::decode(d, v.sourceUri);
4470 avro::decode(d, v.targetUri);
4471 avro::decode(d, v.relationshipKind);
4472 avro::decode(d, v.customData);
4476namespace Energistics {
4479 namespace Protocol {
4480 namespace Discovery {
4481 struct GetResourcesEdgesResponse :
public ETP_NS::EtpMessage {
4482 static constexpr int32_t messageTypeId = 7;
4484 GetResourcesEdgesResponse() {
4485 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Discovery);
4486 this->messageHeader.messageType = messageTypeId;
4488 std::vector<Energistics::Etp::v12::Datatypes::Object::Edge> edges;
4490 void encode(avro::Encoder& e)
const final {
4491 avro::encode(e, edges);
4493 void decode(avro::Decoder& d)
final {
4494 avro::decode(d, edges);
4502namespace Energistics {
4505 namespace Datatypes {
4509 std::vector<std::string> alternateUris;
4511 std::optional<int32_t> sourceCount;
4512 bool has_sourceCount()
const {
return sourceCount.has_value(); }
4513 int32_t get_sourceCount()
const {
return sourceCount.value(); }
4514 std::optional<int32_t> targetCount;
4515 bool has_targetCount()
const {
return targetCount.has_value(); }
4516 int32_t get_targetCount()
const {
return targetCount.value(); }
4517 int64_t lastChanged = 0;
4518 int64_t storeLastWrite = 0;
4519 int64_t storeCreated = 0;
4520 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind activeStatus = Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind::Inactive;
4521 std::map<std::string, Energistics::Etp::v12::Datatypes::DataValue> customData;
4529 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::Resource> {
4531 avro::encode(e, v.uri);
4532 avro::encode(e, v.alternateUris);
4533 avro::encode(e, v.name);
4534 avro::encode(e, v.sourceCount);
4535 avro::encode(e, v.targetCount);
4536 avro::encode(e, v.lastChanged);
4537 avro::encode(e, v.storeLastWrite);
4538 avro::encode(e, v.storeCreated);
4539 avro::encode(e, v.activeStatus);
4540 avro::encode(e, v.customData);
4542 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::Resource& v) {
4543 avro::decode(d, v.uri);
4544 avro::decode(d, v.alternateUris);
4545 avro::decode(d, v.name);
4546 avro::decode(d, v.sourceCount);
4547 avro::decode(d, v.targetCount);
4548 avro::decode(d, v.lastChanged);
4549 avro::decode(d, v.storeLastWrite);
4550 avro::decode(d, v.storeCreated);
4551 avro::decode(d, v.activeStatus);
4552 avro::decode(d, v.customData);
4556namespace Energistics {
4559 namespace Protocol {
4560 namespace Discovery {
4561 struct GetResourcesResponse :
public ETP_NS::EtpMessage {
4562 static constexpr int32_t messageTypeId = 4;
4564 GetResourcesResponse() {
4565 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Discovery);
4566 this->messageHeader.messageType = messageTypeId;
4568 std::vector<Energistics::Etp::v12::Datatypes::Object::Resource> resources;
4570 void encode(avro::Encoder& e)
const final {
4571 avro::encode(e, resources);
4573 void decode(avro::Decoder& d)
final {
4574 avro::decode(d, resources);
4582namespace Energistics {
4585 namespace Protocol {
4586 namespace DiscoveryQuery {
4587 struct FindResourcesResponse :
public ETP_NS::EtpMessage {
4588 static constexpr int32_t messageTypeId = 2;
4590 FindResourcesResponse() {
4591 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::DiscoveryQuery);
4592 this->messageHeader.messageType = messageTypeId;
4594 std::vector<Energistics::Etp::v12::Datatypes::Object::Resource> resources;
4595 std::string serverSortOrder;
4597 void encode(avro::Encoder& e)
const final {
4598 avro::encode(e, resources);
4599 avro::encode(e, serverSortOrder);
4601 void decode(avro::Decoder& d)
final {
4602 avro::decode(d, resources);
4603 avro::decode(d, serverSortOrder);
4611namespace Energistics {
4614 namespace Protocol {
4615 namespace StoreNotification {
4616 struct ObjectActiveStatusChanged :
public ETP_NS::EtpMessage {
4617 static constexpr int32_t messageTypeId = 11;
4619 ObjectActiveStatusChanged() {
4620 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
4621 this->messageHeader.messageType = messageTypeId;
4623 Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind activeStatus = Energistics::Etp::v12::Datatypes::Object::ActiveStatusKind::Inactive;
4624 int64_t changeTime = 0;
4628 void encode(avro::Encoder& e)
const final {
4629 avro::encode(e, activeStatus);
4630 avro::encode(e, changeTime);
4631 avro::encode(e, resource);
4632 avro::encode(e, requestUuid);
4634 void decode(avro::Decoder& d)
final {
4635 avro::decode(d, activeStatus);
4636 avro::decode(d, changeTime);
4637 avro::decode(d, resource);
4638 avro::decode(d, requestUuid);
4646namespace Energistics {
4649 namespace Datatypes {
4654 std::optional<Energistics::Etp::v12::Datatypes::Uuid> blobId;
4655 bool has_blobId()
const {
return blobId.has_value(); }
4665 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::DataObject> {
4667 avro::encode(e, v.resource);
4668 avro::encode(e, v.format);
4669 avro::encode(e, v.blobId);
4670 avro::encode(e, v.data);
4672 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::DataObject& v) {
4673 avro::decode(d, v.resource);
4674 avro::decode(d, v.format);
4675 avro::decode(d, v.blobId);
4676 avro::decode(d, v.data);
4680namespace Energistics {
4683 namespace Protocol {
4685 struct GetDataObjectsResponse :
public ETP_NS::EtpMessage {
4686 static constexpr int32_t messageTypeId = 4;
4688 GetDataObjectsResponse() {
4689 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
4690 this->messageHeader.messageType = messageTypeId;
4692 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::DataObject> dataObjects;
4694 void encode(avro::Encoder& e)
const final {
4695 avro::encode(e, dataObjects);
4697 void decode(avro::Decoder& d)
final {
4698 avro::decode(d, dataObjects);
4706namespace Energistics {
4709 namespace Protocol {
4711 struct PutDataObjects :
public ETP_NS::EtpMessage {
4712 static constexpr int32_t messageTypeId = 2;
4715 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::Store);
4716 this->messageHeader.messageType = messageTypeId;
4718 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::DataObject> dataObjects;
4719 bool pruneContainedObjects =
false;
4721 void encode(avro::Encoder& e)
const final {
4722 avro::encode(e, dataObjects);
4723 avro::encode(e, pruneContainedObjects);
4725 void decode(avro::Decoder& d)
final {
4726 avro::decode(d, dataObjects);
4727 avro::decode(d, pruneContainedObjects);
4735namespace Energistics {
4738 namespace Protocol {
4739 namespace StoreQuery {
4740 struct FindDataObjectsResponse :
public ETP_NS::EtpMessage {
4741 static constexpr int32_t messageTypeId = 2;
4743 FindDataObjectsResponse() {
4744 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreQuery);
4745 this->messageHeader.messageType = messageTypeId;
4747 std::vector<Energistics::Etp::v12::Datatypes::Object::DataObject> dataObjects;
4748 std::string serverSortOrder;
4750 void encode(avro::Encoder& e)
const final {
4751 avro::encode(e, dataObjects);
4752 avro::encode(e, serverSortOrder);
4754 void decode(avro::Decoder& d)
final {
4755 avro::decode(d, dataObjects);
4756 avro::decode(d, serverSortOrder);
4764namespace Energistics {
4767 namespace Datatypes {
4770 Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind changeKind = Energistics::Etp::v12::Datatypes::Object::ObjectChangeKind::insert;
4771 int64_t changeTime = 0;
4780 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::ObjectChange> {
4782 avro::encode(e, v.changeKind);
4783 avro::encode(e, v.changeTime);
4784 avro::encode(e, v.dataObject);
4786 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::ObjectChange& v) {
4787 avro::decode(d, v.changeKind);
4788 avro::decode(d, v.changeTime);
4789 avro::decode(d, v.dataObject);
4793namespace Energistics {
4796 namespace Protocol {
4797 namespace StoreNotification {
4798 struct ObjectChanged :
public ETP_NS::EtpMessage {
4799 static constexpr int32_t messageTypeId = 2;
4802 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
4803 this->messageHeader.messageType = messageTypeId;
4808 void encode(avro::Encoder& e)
const final {
4809 avro::encode(e, change);
4810 avro::encode(e, requestUuid);
4812 void decode(avro::Decoder& d)
final {
4813 avro::decode(d, change);
4814 avro::decode(d, requestUuid);
4822namespace Energistics {
4825 namespace Datatypes {
4829 Energistics::Etp::v12::Datatypes::Object::ContextScopeKind scope = Energistics::Etp::v12::Datatypes::Object::ContextScopeKind::targets;
4831 bool includeObjectData =
false;
4840 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::SubscriptionInfo> {
4842 avro::encode(e, v.context);
4843 avro::encode(e, v.scope);
4844 avro::encode(e, v.requestUuid);
4845 avro::encode(e, v.includeObjectData);
4846 avro::encode(e, v.format);
4848 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::SubscriptionInfo& v) {
4849 avro::decode(d, v.context);
4850 avro::decode(d, v.scope);
4851 avro::decode(d, v.requestUuid);
4852 avro::decode(d, v.includeObjectData);
4853 avro::decode(d, v.format);
4857namespace Energistics {
4860 namespace Protocol {
4861 namespace StoreNotification {
4862 struct SubscribeNotifications :
public ETP_NS::EtpMessage {
4863 static constexpr int32_t messageTypeId = 6;
4865 SubscribeNotifications() {
4866 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
4867 this->messageHeader.messageType = messageTypeId;
4869 std::map<std::string, Energistics::Etp::v12::Datatypes::Object::SubscriptionInfo> request;
4871 void encode(avro::Encoder& e)
const final {
4872 avro::encode(e, request);
4874 void decode(avro::Decoder& d)
final {
4875 avro::decode(d, request);
4883namespace Energistics {
4886 namespace Protocol {
4887 namespace StoreNotification {
4888 struct UnsolicitedStoreNotifications :
public ETP_NS::EtpMessage {
4889 static constexpr int32_t messageTypeId = 8;
4891 UnsolicitedStoreNotifications() {
4892 this->messageHeader.protocol =
static_cast<std::underlying_type_t<Energistics::Etp::v12::Datatypes::Protocol>
>(Energistics::Etp::v12::Datatypes::Protocol::StoreNotification);
4893 this->messageHeader.messageType = messageTypeId;
4895 std::vector<Energistics::Etp::v12::Datatypes::Object::SubscriptionInfo> subscriptions;
4897 void encode(avro::Encoder& e)
const final {
4898 avro::encode(e, subscriptions);
4900 void decode(avro::Decoder& d)
final {
4901 avro::decode(d, subscriptions);
4909namespace Energistics {
4912 namespace Datatypes {
4915 std::string dataObjectType;
4916 std::optional<int32_t> objectCount;
4917 bool has_objectCount()
const {
return objectCount.has_value(); }
4918 int32_t get_objectCount()
const {
return objectCount.value(); }
4919 Energistics::Etp::v12::Datatypes::Object::RelationshipKind relationshipKind = Energistics::Etp::v12::Datatypes::Object::RelationshipKind::Primary;
4927 template<>
struct codec_traits<Energistics::Etp::v12::Datatypes::Object::SupportedType> {
4929 avro::encode(e, v.dataObjectType);
4930 avro::encode(e, v.objectCount);
4931 avro::encode(e, v.relationshipKind);
4933 static void decode(Decoder& d, Energistics::Etp::v12::Datatypes::Object::SupportedType& v) {
4934 avro::decode(d, v.dataObjectType);
4935 avro::decode(d, v.objectCount);
4936 avro::decode(d, v.relationshipKind);
4945 template<
typename T>
4946 struct codec_traits<std::optional<T>> {
4950 static void encode(Encoder& e,
const std::optional<T>& b) {
4952 e.encodeUnionIndex(1);
4953 avro::encode(e, b.value());
4956 e.encodeUnionIndex(0);
4964 static void decode(Decoder& d, std::optional<T>& s) {
4965 size_t n = d.decodeUnionIndex();
4966 if (n >= 2) {
throw avro::Exception(
"Union index too big for optional (expected 0 or 1, got " + std::to_string(n) +
")"); }
4977 avro::decode(d, *s);
Definition EtpMessages.h:1041
Definition EtpMessages.h:866
Definition EtpMessages.h:1086
Definition EtpMessages.h:1062
Definition EtpMessages.h:630
Definition EtpMessages.h:651
Definition EtpMessages.h:672
Definition EtpMessages.h:693
Definition EtpMessages.h:714
Definition EtpMessages.h:735
Definition EtpMessages.h:756
Definition EtpMessages.h:777
Definition EtpMessages.h:798
Definition EtpMessages.h:819
Definition EtpMessages.h:2337
Definition EtpMessages.h:3902
Definition EtpMessages.h:2690
Definition EtpMessages.h:2724
Definition EtpMessages.h:2466
Definition EtpMessages.h:2756
Definition EtpMessages.h:4034
Definition EtpMessages.h:2542
Definition EtpMessages.h:2782
Definition EtpMessages.h:2808
Definition EtpMessages.h:2886
Definition EtpMessages.h:2964
Definition EtpMessages.h:3105
Definition EtpMessages.h:3160
Definition EtpMessages.h:3218
Definition EtpMessages.h:1540
Definition EtpMessages.h:1519
Definition EtpMessages.h:1165
Definition EtpMessages.h:1601
Definition EtpMessages.h:2668
Definition EtpMessages.h:2570
Definition EtpMessages.h:4063
Definition EtpMessages.h:4089
Definition EtpMessages.h:4285
Definition EtpMessages.h:4651
Definition EtpMessages.h:3374
Definition EtpMessages.h:3815
Definition EtpMessages.h:4449
Definition EtpMessages.h:3870
Definition EtpMessages.h:4769
Definition EtpMessages.h:4144
Definition EtpMessages.h:4202
Definition EtpMessages.h:4507
Definition EtpMessages.h:4827
Definition EtpMessages.h:4914
Definition EtpMessages.h:2291
Definition EtpMessages.h:1710
Definition EtpMessages.h:2148
Definition EtpMessages.h:1734
Definition EtpMessages.h:2118