diff --git a/consumer/api/c/include/asapo/consumer_c.h b/consumer/api/c/include/asapo/consumer_c.h index 71581517b500635fa001fe5f1c6cad50f0795b2f..0f052bed4c29aeb24bba7f58cc1f0ba9d9f04664 100644 --- a/consumer/api/c/include/asapo/consumer_c.h +++ b/consumer/api/c/include/asapo/consumer_c.h @@ -24,39 +24,38 @@ enum asapoErrorType { kEndOfFile, kFabricError, }; -void asapoErrorExplain(const asapoError error, char *buf, size_t maxSize); +void asapoErrorExplain(const asapoError error, char* buf, size_t maxSize); enum asapoErrorType asapoErrorGetType(const asapoError error); void asapoClearError(asapoError* error); asapoConsumer asapoCreateConsumer(const char* server_name, - const char* source_path, - int has_filesysytem, - asapoSourceCredentials source, - asapoError* error); + const char* source_path, + int has_filesysytem, + asapoSourceCredentials source, + asapoError* error); void asapoDeleteConsumer(asapoConsumer* consumer); -asapoGroupId asapoConsumerGenerateNewGroupId(asapoConsumer consumer,asapoError* err); +asapoGroupId asapoConsumerGenerateNewGroupId(asapoConsumer consumer, asapoError* err); void asapoDeleteGroupId(asapoGroupId* id); void asapoConsumerSetTimeout(asapoConsumer consumer, uint64_t timeout_ms); asapoError asapoConsumerGetLast(asapoConsumer consumer, - asapoMessageMeta info, - asapoMessageData* data, - const char* stream); + asapoMessageMeta info, + asapoMessageData* data, + const char* stream); void asapoDeleteMessageData(asapoMessageData* data); -const char*asapoMessageDataGetAsChars(const asapoMessageData data); +const char* asapoMessageDataGetAsChars(const asapoMessageData data); asapoSourceCredentials asapoCreateSourceCredentials(const char* type, - const char* beamtime, - const char* beamline, - const char* data_source, - const char* token); + const char* beamtime, + const char* beamline, + const char* data_source, + const char* token); void asapoDeleteSourceCredentials(asapoSourceCredentials* cred); asapoMessageMeta asapoCreateMessageMeta(); void asapoDeleteMessageMeta(asapoMessageMeta* meta); - const char* asapoMessageMetaGetName(const asapoMessageMeta md); void asapoMessageMetaGetTimestamp(const asapoMessageMeta md, - struct timespec* stamp); + struct timespec* stamp); uint64_t asapoMessageMetaGetSize(const asapoMessageMeta md); uint64_t asapoMessageMetaGetId(const asapoMessageMeta md); const char* asapoMessageMetaGetSource(const asapoMessageMeta md); diff --git a/consumer/api/cpp/src/consumer_c_glue.cpp b/consumer/api/cpp/src/consumer_c_glue.cpp index 6c914ba0b2527a56791bb7a1a705ed07541c7a96..566513eaf867ff37deda87aafb1758453ebc6251 100644 --- a/consumer/api/cpp/src/consumer_c_glue.cpp +++ b/consumer/api/cpp/src/consumer_c_glue.cpp @@ -12,130 +12,130 @@ extern "C" { #include "asapo/consumer_c.h" - static void timePointToTimeSpec(std::chrono::system_clock::time_point tp, - struct timespec* stamp) { - stamp->tv_sec = std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count(); - stamp->tv_nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count() % 1000000000; - } + static void timePointToTimeSpec(std::chrono::system_clock::time_point tp, + struct timespec* stamp) { + stamp->tv_sec = std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count(); + stamp->tv_nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count() % 1000000000; + } - - void asapoErrorExplain(const asapoError error, char* buf, size_t maxSize) { - auto explanation = error->Explain().substr(0, maxSize-1); - std::copy(explanation.begin(), explanation.end(), buf); - buf[explanation.size()] = '\0'; - } - enum asapoErrorType asapoErrorGetType(const asapoError error) { - return static_cast<asapoErrorType>(error->GetErrorType()); - } - void asapoClearError(asapoError* error) { - delete *error; - error = nullptr; - } - asapoConsumer asapoCreateConsumer(const char* server_name, - const char* source_path, - int has_filesysytem, - asapoSourceCredentials source, - asapoError* error) { - asapo::Error err; - auto c = asapo::ConsumerFactory::CreateConsumer(server_name, - source_path, - has_filesysytem, - *source, - &err); - if (err) { - *error = err.release(); - } - - return c.release(); - } - void asapoDeleteConsumer(asapoConsumer* consumer) { - delete *consumer; - *consumer = nullptr; - } - asapoGroupId asapoConsumerGenerateNewGroupId(asapoConsumer consumer, - asapoError* error) { - asapo::Error err; - auto result = new std::string(consumer->GenerateNewGroupId(&err)); - if (err) { - *error = err.release(); - } - return result; - } - void asapoDeleteGroupId(asapoGroupId* id) { - delete *id; - *id = nullptr; - } - void asapoConsumerSetTimeout(asapoConsumer consumer, uint64_t timeout_ms) { - consumer->SetTimeout(timeout_ms); - } - asapoError asapoConsumerGetLast(asapoConsumer consumer, - asapoMessageMeta info, - asapoMessageData* data, - const char* stream) { - asapo::MessageData d; - auto err = consumer->GetLast(info, &d, stream); - *data = d.release(); - return err.release(); - } - void asapoDeleteMessageData(asapoMessageData* data) { - delete *data; - *data = nullptr; - } - const char*asapoMessageDataGetAsChars(const asapoMessageData data) { - return reinterpret_cast<const char*>(data); - } + void asapoErrorExplain(const asapoError error, char* buf, size_t maxSize) { + auto explanation = error->Explain().substr(0, maxSize - 1); + std::copy(explanation.begin(), explanation.end(), buf); + buf[explanation.size()] = '\0'; + } + enum asapoErrorType asapoErrorGetType(const asapoError error) { + return static_cast<asapoErrorType>(error->GetErrorType()); + } + void asapoClearError(asapoError* error) { + delete *error; + error = nullptr; + } - asapoSourceCredentials asapoCreateSourceCredentials(const char* type, - const char* beamtime, - const char* beamline, - const char* data_source, - const char* token) { - asapo::SourceType t; - auto error = asapo::GetSourceTypeFromString(type,&t); - return new asapo::SourceCredentials(t, beamtime, beamline, - data_source, token); - } - void asapoDeleteSourceCredentials(asapoSourceCredentials* cred) { - delete *cred; - cred = nullptr; - } + asapoConsumer asapoCreateConsumer(const char* server_name, + const char* source_path, + int has_filesysytem, + asapoSourceCredentials source, + asapoError* error) { + asapo::Error err; + auto c = asapo::ConsumerFactory::CreateConsumer(server_name, + source_path, + has_filesysytem, + *source, + &err); + if (err) { + *error = err.release(); + } - asapoMessageMeta asapoCreateMessageMeta() { - return new asapo::MessageMeta; - } - void asapoDeleteMessageMeta(asapoMessageMeta* meta) { - delete *meta; - *meta = nullptr; - } - - const char* asapoMessageMetaGetName(const asapoMessageMeta md) { - return md->name.c_str(); - } + return c.release(); + } + void asapoDeleteConsumer(asapoConsumer* consumer) { + delete *consumer; + *consumer = nullptr; + } + asapoGroupId asapoConsumerGenerateNewGroupId(asapoConsumer consumer, + asapoError* error) { + asapo::Error err; + auto result = new std::string(consumer->GenerateNewGroupId(&err)); + if (err) { + *error = err.release(); + } + return result; + } + void asapoDeleteGroupId(asapoGroupId* id) { + delete *id; + *id = nullptr; + } + void asapoConsumerSetTimeout(asapoConsumer consumer, uint64_t timeout_ms) { + consumer->SetTimeout(timeout_ms); + } + asapoError asapoConsumerGetLast(asapoConsumer consumer, + asapoMessageMeta info, + asapoMessageData* data, + const char* stream) { + asapo::MessageData d; + auto err = consumer->GetLast(info, &d, stream); + *data = d.release(); + return err.release(); + } + void asapoDeleteMessageData(asapoMessageData* data) { + delete *data; + *data = nullptr; + } + const char* asapoMessageDataGetAsChars(const asapoMessageData data) { + return reinterpret_cast<const char*>(data); + } + + asapoSourceCredentials asapoCreateSourceCredentials(const char* type, + const char* beamtime, + const char* beamline, + const char* data_source, + const char* token) { + asapo::SourceType t; + auto error = asapo::GetSourceTypeFromString(type, &t); + return new asapo::SourceCredentials(t, beamtime, beamline, + data_source, token); + } + void asapoDeleteSourceCredentials(asapoSourceCredentials* cred) { + delete *cred; + cred = nullptr; + } + + asapoMessageMeta asapoCreateMessageMeta() { + return new asapo::MessageMeta; + } + void asapoDeleteMessageMeta(asapoMessageMeta* meta) { + delete *meta; + *meta = nullptr; + } + + const char* asapoMessageMetaGetName(const asapoMessageMeta md) { + return md->name.c_str(); + } + + void asapoMessageMetaGetTimestamp(const asapoMessageMeta md, + struct timespec* stamp) { + timePointToTimeSpec(md->timestamp, stamp); + } + + uint64_t asapoMessageMetaGetSize(const asapoMessageMeta md) { + return md->size; + } + uint64_t asapoMessageMetaGetId(const asapoMessageMeta md) { + return md->id; + } + const char* asapoMessageMetaGetSource(const asapoMessageMeta md) { + return md->source.c_str(); + } + const char* asapoMessageMetaGetMetaData(const asapoMessageMeta md) { + return md->metadata.c_str(); + } + uint64_t asapoMessageMetaGetBuf_id(const asapoMessageMeta md) { + return md->buf_id; + } + uint64_t asapoMessageMetaGetDataset_Substream(const asapoMessageMeta md) { + return md->dataset_substream; + } - void asapoMessageMetaGetTimestamp(const asapoMessageMeta md, - struct timespec* stamp) { - timePointToTimeSpec(md->timestamp, stamp); - } - - uint64_t asapoMessageMetaGetSize(const asapoMessageMeta md) { - return md->size; - } - uint64_t asapoMessageMetaGetId(const asapoMessageMeta md) { - return md->id; - } - const char* asapoMessageMetaGetSource(const asapoMessageMeta md) { - return md->source.c_str(); - } - const char* asapoMessageMetaGetMetaData(const asapoMessageMeta md) { - return md->metadata.c_str(); - } - uint64_t asapoMessageMetaGetBuf_id(const asapoMessageMeta md) { - return md->buf_id; - } - uint64_t asapoMessageMetaGetDataset_Substream(const asapoMessageMeta md) { - return md->dataset_substream; - } - } diff --git a/examples/consumer/simple-consumer-c/consume.c b/examples/consumer/simple-consumer-c/consume.c index b381e21e1443b950ee7ab7735a85c722b449c63d..e6e42cd3b51b0161c502f6a6ef2cd363f328c02f 100644 --- a/examples/consumer/simple-consumer-c/consume.c +++ b/examples/consumer/simple-consumer-c/consume.c @@ -25,7 +25,7 @@ int main(int argc, char* argv[]) { beamtime, "", "", token); asapoConsumer consumer = asapoCreateConsumer(endpoint, - "", 1, + "", 1, cred, &err); asapoDeleteSourceCredentials(&cred); diff --git a/examples/consumer/simple-consumer/consume.cpp b/examples/consumer/simple-consumer/consume.cpp index ddc756c017d78d633959e8036b3b1cdf9abecb20..e08857772ca2feec13e3f73919886e9b22174ae7 100644 --- a/examples/consumer/simple-consumer/consume.cpp +++ b/examples/consumer/simple-consumer/consume.cpp @@ -15,7 +15,7 @@ int main(int argc, char* argv[]) { auto beamtime = "asapo_test"; auto token = "KmUDdacgBzaOD3NIJvN1NmKGqWKtx0DK-NyPjdpeWkc="; - auto consumer = asapo::ConsumerFactory::CreateConsumer(endpoint, "", true, asapo::SourceCredentials{asapo::SourceType::kProcessed,beamtime, "", "", token}, &err); + auto consumer = asapo::ConsumerFactory::CreateConsumer(endpoint, "", true, asapo::SourceCredentials{asapo::SourceType::kProcessed, beamtime, "", "", token}, &err); exit_if_error("Cannot create consumer", err); consumer->SetTimeout((uint64_t) 1000);