Skip to content
Snippets Groups Projects
Commit 2aa9bf48 authored by Juergen Hannappel's avatar Juergen Hannappel
Browse files

add producer enum equality checks

parent 33856547
No related branches found
No related tags found
No related merge requests found
......@@ -103,4 +103,13 @@ AsapoHandlerHolder<std::string>* handle_or_null_t(const std::string& object,
}
template<typename u, typename t>
constexpr bool operator==(const u& lhs, const t& rhs) {
return static_cast<typename std::make_unsigned<u>::type>(lhs)
== static_cast<typename std::make_unsigned<typename std::underlying_type<t>::type>::type>(rhs);
}
#endif
......@@ -52,11 +52,6 @@ typedef AsapoHandlerHolder<asapo::ConsumerErrorData>* AsapoConsumerErrorDataHand
#include <algorithm>
template<typename t>
constexpr bool operator==(const unsigned int& lhs, const t& rhs) {
return lhs == static_cast<typename std::make_unsigned<typename std::underlying_type<t>::type>::type>(rhs);
}
#define dataGetterStart \
asapo::MessageData d; \
asapo::MessageMeta* fi = info ? new asapo::MessageMeta : nullptr; \
......
......@@ -14,6 +14,35 @@ typedef AsapoHandlerHolder<asapo::MessageHeader>* AsapoMessageHeaderHandle;
extern "C" {
#include "asapo/producer_c.h"
static_assert(kOpcodeUnknownOp == asapo::Opcode::kOpcodeUnknownOp&&
kOpcodeTransferData == asapo::Opcode::kOpcodeTransferData&&
kOpcodeTransferDatasetData == asapo::Opcode::kOpcodeTransferDatasetData&&
kOpcodeStreamInfo == asapo::Opcode::kOpcodeStreamInfo&&
kOpcodeLastStream == asapo::Opcode::kOpcodeLastStream&&
kOpcodeGetBufferData == asapo::Opcode::kOpcodeGetBufferData&&
kOpcodeAuthorize == asapo::Opcode::kOpcodeAuthorize&&
kOpcodeTransferMetaData == asapo::Opcode::kOpcodeTransferMetaData&&
kOpcodeDeleteStream == asapo::Opcode::kOpcodeDeleteStream&&
kOpcodeGetMeta == asapo::Opcode::kOpcodeGetMeta&&
kOpcodeCount == asapo::Opcode::kOpcodeCount,
"incompatible bit reps between c++ and c for asapo::OpCode");
static_assert(kTcp == asapo::RequestHandlerType:: kTcp&&
kFilesystem == asapo::RequestHandlerType:: kFilesystem,
"incompatible bit reps between c++ and c for asapo::RequestHandlerType");
static_assert(kInsert == asapo::MetaIngestOp::kInsert&&
kReplace == asapo::MetaIngestOp::kReplace&&
kUpdate == asapo::MetaIngestOp::kUpdate,
"incompatible bit reps between c++ and c for asapo::MetaIngestOp");
static_assert(None == asapo::LogLevel::None&&
Error == asapo::LogLevel::Error&&
Info == asapo::LogLevel::Info&&
Debug == asapo::LogLevel::Debug&&
Warning == asapo::LogLevel::Warning,
"incompatible bit reps between c++ and c for asapo::LogLevel");
AsapoProducerHandle asapo_create_producer(const char* endpoint,
uint8_t n_processing_threads,
AsapoRequestHandlerType type,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment