From ad556cf944f3f88a53941fbcf4261bf8d65ff473 Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Fri, 16 Jul 2021 12:51:18 +0200 Subject: [PATCH] IngestModeFlags --- producer/api/c/include/asapo/producer_c.h | 11 +++++++ tests/automatic/producer/c_api/producer_api.c | 31 +++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/producer/api/c/include/asapo/producer_c.h b/producer/api/c/include/asapo/producer_c.h index d96f278aa..5e992bce3 100644 --- a/producer/api/c/include/asapo/producer_c.h +++ b/producer/api/c/include/asapo/producer_c.h @@ -53,6 +53,17 @@ enum AsapoRequestHandlerType { kFilesystem }; +//! c version of asapo::IngestModeFlags +enum AsapoIngestModeFlags { + kTransferData = 1 << 0, + kTransferMetaDataOnly = 1 << 1, + kStoreInFilesystem = 1 << 2, + kStoreInDatabase = 1 << 3, +}; + +const uint64_t kDefaultIngestMode = kTransferData | kStoreInFilesystem | kStoreInDatabase; + + //! c version of asapo::MetaIngestOp enum AsapoMetaIngestOp { kInsert = 1, diff --git a/tests/automatic/producer/c_api/producer_api.c b/tests/automatic/producer/c_api/producer_api.c index 8c60a637c..6e85eab74 100644 --- a/tests/automatic/producer/c_api/producer_api.c +++ b/tests/automatic/producer/c_api/producer_api.c @@ -65,6 +65,33 @@ std::unique_ptr<asapo::Producer> CreateProducer(const Args& args) { */ +void callback(AsapoRequestCallbackPayloadHandle payload, AsapoErrorHandle error) { + EXIT_IF_ERROR("error after callback", error); + AsapoMessageDataHandle data_handle = asapo_request_callback_payload_get_data(payload); + AsapoStringHandle response = asapo_request_callback_payload_get_response(payload); + const struct AsapoGenericRequestHeader* header = asapo_request_callback_payload_get_original_header(payload); + + printf("%d\n",(int)header->data_id); + + asapo_free_handle(&data_handle); + asapo_free_handle(&response); +} + +void test_send(AsapoProducerHandle producer) { + AsapoErrorHandle err = asapo_new_handle(); + AsapoMessageHeaderHandle message_header = NULL; + + char data[] = "hello"; + int res = asapo_producer_send(producer, + message_header, + data, + kDefaultIngestMode, + "default", + callback, + &err); + +} + int main(int argc, char* argv[]) { if (argc <4) { abort(); @@ -80,12 +107,12 @@ int main(int argc, char* argv[]) { "", source, ""); AsapoProducerHandle producer = asapo_create_producer(endpoint,2,kTcp, cred,60000,&err); + EXIT_IF_ERROR("create producer", err); asapo_producer_enable_local_log(producer, 1); asapo_producer_set_log_level(producer, Debug); - - EXIT_IF_ERROR("create producer", err); + test_send(producer); asapo_free_handle(&err); asapo_free_handle(&cred); -- GitLab