diff --git a/consumer/api/cpp/src/consumer_c_glue.cpp b/consumer/api/cpp/src/consumer_c_glue.cpp index 4a618a16fbd87b3beab3b666f377a76cbde82948..30d2938ecf925527531cbe25a522a7e5aad4377a 100644 --- a/consumer/api/cpp/src/consumer_c_glue.cpp +++ b/consumer/api/cpp/src/consumer_c_glue.cpp @@ -122,9 +122,9 @@ int process_error(AsapoErrorHandle* error, asapo::Error err, } AsapoHandle* handle_or_null(AsapoHandle* handle, AsapoErrorHandle* error, asapo::Error err, - const asapo::ErrorTemplateInterface* p_exclude_err_template = nullptr) { - if (process_error(error, std::move(err),p_exclude_err_template) < 0) { - if (handle!=nullptr) { + const asapo::ErrorTemplateInterface* p_exclude_err_template = nullptr) { + if (process_error(error, std::move(err), p_exclude_err_template) < 0) { + if (handle != nullptr) { delete handle; } return nullptr; @@ -453,7 +453,7 @@ extern "C" { auto result = new std::string(consumer->handle->GetBeamtimeMeta(&err)); auto retval = new AsapoHandlerHolder<std::string> {result}; return static_cast<AsapoStringHandle>(handle_or_null(retval, error, std::move(err))); -} + } //! wraps asapo::Consumer::RetrieveData() /// \copydoc asapo::Consumer::RetrieveData() @@ -486,7 +486,8 @@ extern "C" { asapo::Error err; auto result = new asapo::DataSet(consumer->handle->GetNextDataset(*group_id->handle, min_size, stream, &err)); auto retval = new AsapoHandlerHolder<asapo::DataSet> {result}; - return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err),&asapo::ConsumerErrorTemplates::kPartialData)); + return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err), + &asapo::ConsumerErrorTemplates::kPartialData)); } //! wraps asapo::Consumer::GetLastDataset() @@ -500,8 +501,9 @@ extern "C" { asapo::Error err; auto result = new asapo::DataSet(consumer->handle->GetLastDataset(min_size, stream, &err)); auto retval = new AsapoHandlerHolder<asapo::DataSet> {result}; - return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err),&asapo::ConsumerErrorTemplates::kPartialData)); -} + return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err), + &asapo::ConsumerErrorTemplates::kPartialData)); + } //! wraps asapo::Consumer::GetLastAcknowledgedMessage() /// \copydoc asapo::Consumer::GetLastAcknowledgedMessage() @@ -531,7 +533,8 @@ extern "C" { asapo::Error err; auto result = new asapo::DataSet(consumer->handle->GetDatasetById(id, min_size, stream, &err)); auto retval = new AsapoHandlerHolder<asapo::DataSet> {result}; - return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err),&asapo::ConsumerErrorTemplates::kPartialData)); + return static_cast<AsapoDataSetHandle>(handle_or_null(retval, error, std::move(err), + &asapo::ConsumerErrorTemplates::kPartialData)); } //! wraps aspao::Consumer::GetById() diff --git a/examples/consumer/simple-consumer-c/consume.c b/examples/consumer/simple-consumer-c/consume.c index 924c1c78ed40595246397c2989684bcf6b02d020..f084363d1590fb0577bcb6abf1a37e9c41c20da4 100644 --- a/examples/consumer/simple-consumer-c/consume.c +++ b/examples/consumer/simple-consumer-c/consume.c @@ -1,52 +1,54 @@ #include "asapo/consumer_c.h" -#include <string.h> #include <stdio.h> #include <stdlib.h> - + void exit_if_error(const char *error_string, const AsapoErrorHandle err) { if (err) { - char buf[1024]; + char buf[1024]; asapo_error_explain(err, buf, sizeof(buf)); - printf("%s %s\n", error_string, buf); - exit(EXIT_FAILURE); + printf("%s %s\n", error_string, buf); + exit(EXIT_FAILURE); } } int main(int argc, char* argv[]) { - AsapoErrorHandle err = NULL; + AsapoErrorHandle err = asapo_new_handle(); + AsapoMessageMetaHandle mm = asapo_new_handle(); + AsapoMessageDataHandle data = asapo_new_handle(); - const char *endpoint = "enpoint:8400"; + const char *endpoint = "localhost:8400"; const char *beamtime = "asapo_test"; - const char *token = "KmUDdacgBzaOD3NIJvN1NmKGqWKtx0DK-NyPjdpeWkc="; + const char *token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjMWY2OG0ydWlkZDE3dWxmaDN1ZyIsInN1YiI6ImJ0X2FzYXBvX3Rlc3QiLCJFeHRyYUNsYWltcyI6eyJBY2Nlc3NUeXBlcyI6WyJyZWFkIl19fQ.zo7ZDfY2sf4o9RYuXpxNR9kHLG594xr-SE5yLoyDC2Q"; + + const char * path_to_files = "/var/tmp/asapo/global_shared/data/test_facility/gpfs/test/2019/data/asapo_test"; //set it according to your configuration. AsapoSourceCredentialsHandle cred = asapo_create_source_credentials(kProcessed, beamtime, "", "", token); AsapoConsumerHandle consumer = asapo_create_consumer(endpoint, - "", 1, + path_to_files, 1, cred, &err); asapo_free_handle(&cred); - + exit_if_error("Cannot create consumer", err); asapo_consumer_set_timeout(consumer, 1000ull); AsapoStringHandle group_id = asapo_consumer_generate_new_group_id(consumer, &err); exit_if_error("Cannot create group id", err); - AsapoMessageMetaHandle fi; - AsapoMessageDataHandle data; - asapo_consumer_get_last(consumer, &fi, &data, group_id,&err); + asapo_consumer_get_next(consumer, group_id, &mm, &data, "default",&err); exit_if_error("Cannot get next record", err); - printf("id: %llu\n", asapo_message_meta_get_id(fi)); - printf("file name: %s\n", asapo_message_meta_get_name(fi)); + printf("id: %llu\n", asapo_message_meta_get_id(mm)); + printf("file name: %s\n", asapo_message_meta_get_name(mm)); printf("file content: %s\n", asapo_message_data_get_as_chars(data)); - asapo_free_handle(&fi); + + asapo_free_handle(&mm); asapo_free_handle(&data); asapo_free_handle(&consumer); asapo_free_handle(&group_id); - return EXIT_SUCCESS; -} + return EXIT_SUCCESS; +} \ No newline at end of file