diff --git a/producer/api/c/include/asapo/producer_c.h b/producer/api/c/include/asapo/producer_c.h index d96f278aa3de7e3796d1f530e38ab2aff0aab5af..5e992bce3276a01233f54d3f3ec40e1e46857e32 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 8c60a637ccc635dab948a4d07a25adf1f06001b3..6e85eab748dd078756edfd4f9ec3aa5b2292de7a 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);