From 8d2fa8f1a4258f796cff70d758ec7d58272032c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hannappel?= <juergen.hannappel@desy.de> Date: Fri, 16 Jul 2021 13:24:25 +0200 Subject: [PATCH] addef function asapo_create_message_header() --- producer/api/c/include/asapo/producer_c.h | 16 ++++++++++++---- producer/api/cpp/src/producer_c_glue.cpp | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/producer/api/c/include/asapo/producer_c.h b/producer/api/c/include/asapo/producer_c.h index 5e992bce3..190f013ec 100644 --- a/producer/api/c/include/asapo/producer_c.h +++ b/producer/api/c/include/asapo/producer_c.h @@ -55,10 +55,10 @@ enum AsapoRequestHandlerType { //! c version of asapo::IngestModeFlags enum AsapoIngestModeFlags { - kTransferData = 1 << 0, - kTransferMetaDataOnly = 1 << 1, - kStoreInFilesystem = 1 << 2, - kStoreInDatabase = 1 << 3, + kTransferData = 1 << 0, + kTransferMetaDataOnly = 1 << 1, + kStoreInFilesystem = 1 << 2, + kStoreInDatabase = 1 << 3, }; const uint64_t kDefaultIngestMode = kTransferData | kStoreInFilesystem | kStoreInDatabase; @@ -114,6 +114,14 @@ AsapoStreamInfoHandle asapo_producer_get_last_stream(AsapoProducerHandle produce uint64_t timeout_ms, AsapoErrorHandle* error); +AsapoMessageHeaderHandle asapo_create_message_header(uint64_t message_id, + uint64_t data_size, + const char* file_name, + const char* user_metadata, + uint64_t dataset_substream, + uint64_t dataset_size, + AsapoBool auto_id); + int asapo_producer_send(AsapoProducerHandle producer, const AsapoMessageHeaderHandle message_header, void* data, diff --git a/producer/api/cpp/src/producer_c_glue.cpp b/producer/api/cpp/src/producer_c_glue.cpp index 24d1f09a8..2a4455626 100644 --- a/producer/api/cpp/src/producer_c_glue.cpp +++ b/producer/api/cpp/src/producer_c_glue.cpp @@ -104,6 +104,24 @@ extern "C" { uint64_t timeout_ms, AsapoErrorHandle* error); + AsapoMessageHeaderHandle asapo_create_message_header(uint64_t message_id, + uint64_t data_size, + const char* file_name, + const char* user_metadata, + uint64_t dataset_substream, + uint64_t dataset_size, + AsapoBool auto_id) { + return new AsapoHandlerHolder<asapo::MessageHeader>(new asapo::MessageHeader(message_id, + data_size, + file_name, + user_metadata, + dataset_substream, + dataset_size, + auto_id != 0)); + } + + + #define BUILD_WRAPPER asapo::RequestCallback wrapper = [ = ](asapo::RequestCallbackPayload payload, asapo::Error err) -> void { \ auto payLoadHandle = new AsapoHandlerHolder<asapo::RequestCallbackPayload>(&payload); \ auto errorHandle = new AsapoHandlerHolder<asapo::ErrorInterface>(err.release()); \ -- GitLab